home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / OS2 / PMCOM109.ARJ / PMCOMM.HLP (.txt) < prev    next >
OS/2 Help File  |  1991-09-04  |  83KB  |  3,775 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Installation Help ΓòÉΓòÉΓòÉ
  3.  
  4. When Pmcomm is shipped there are two different versions on the disk. The two 
  5. versions are Pmcomm version 1.05 and 1.09. The 1.09 version is to be used if 
  6. using a copy of OS/2 that is 1.2 or later. For OS/2 1.1 Pmcomm 1.05 must be 
  7. used. The two directories on the disk are Pmcom105 and Pmcom109, copy the 
  8. appropriate directory to your hard drive. Also, copy RxPmcomm.dll into a .dll 
  9. directory (i.e. C:\os2\dll). 
  10.  
  11. Pmcomm can be run from a command line by typing pmcomm, but it is recommended 
  12. that it be installed in a "Group". To do this access the Program menu on the 
  13. "Group" menu and chose the New option. This will bring up a dialog box where 
  14. the following information must be entered. 
  15.  
  16. Program title: Pmcomm 
  17.  
  18. Path and filename: user_specified_path\pmcomm.exe 
  19.  
  20. Parameters: setup.dat 
  21.  
  22. Working directory: user_specified_path 
  23.  
  24. Program type: Presentation Manager 
  25.  
  26. The final step is to select the Add option at the bottom of the dialog box. 
  27. Note: setup.dat will be created if not in existence. 
  28.  
  29. There is a program called timer.exe in the Pmcom109 directory that will allow 
  30. you to execute Pmcomm at specifed times. This will allow you to set up a script 
  31. to have Pmcomm dial numbers at certain times and capture mail, download files, 
  32. ect. 
  33.  
  34. To install Pmcomm's Host Mode see Installing_Pmcomm_Host_Mode. 
  35.  
  36.  
  37. ΓòÉΓòÉΓòÉ 2. Extended Help ΓòÉΓòÉΓòÉ
  38.  
  39. There is a collection of utilities in the File section such as; Scripts, 
  40. Capture, Print, Copy, and  Paste. There is also an About box that has 
  41. information on  Multi-Net Communications, the company that wrote this software. 
  42.  
  43. In the Edit section there are commands such as Copy, Paste, and Clear_Screen. 
  44. These commands will help you manipulate on-screen information. 
  45.  
  46. The Connect command allows you to connect to another computer, either through a 
  47. modem, using the Dial command or direct connect, using the Send_Break command. 
  48.  
  49. Transfer allows the use of different protocols to send and receive files to or 
  50. from a remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  51. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, ASCII, and 
  52. IND$FILE (for downloads). Zmodem is probably the best selection when available 
  53. on the remote computer. Ymodem-G should only be used with error correcting 
  54. modems. 
  55.  
  56. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  57. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  58. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  59. slower, because Pmcomm has to get the modem into the command state before 
  60. sending the hang-up string. If you have DTR on and delete the hangup string the 
  61. hang-up will be much faster. 
  62.  
  63. Option allows you to tailor Pmcomm to your own tastes. The areas in option are 
  64. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, Screen, Status_Line, 
  65. Terminal, and Chat. The setup is not automatically saved. This allows you to 
  66. change things temporally without changing your default setup file. If you do 
  67. want to make the  changes permanent be sure to save the setup file. To save the 
  68. current setup file,  use the Save_setup command under the File menu option. 
  69.  
  70. Macros allows you to pick, with a mouse, the macro you wish to send. Macros can 
  71. also be selected with an Alt+corresponding number keystroke. Pmcomm allows you 
  72. to set up ten different macros. Scripts can be executed from macros by using 
  73. the shell command. An example of this would be: 
  74.  
  75. shell("c:\pmcomm\plane.cmd"); 
  76.  
  77. This would execute the REXX script called plane.cmd. This allows you a quick 
  78. and easy way to execute often used scripts. 
  79.  
  80.  
  81. ΓòÉΓòÉΓòÉ 2.1. Keys Help ΓòÉΓòÉΓòÉ
  82.  
  83. The following is a list of "Hot keys" available. 
  84.  
  85.   F1      =   Help. 
  86.  
  87.   F3      =   Exit. 
  88.  
  89.   Alt-D     =   Dialing directory. 
  90.  
  91.   Alt-H     =   Hangup. 
  92.  
  93.   Alt-Q     =   Dial Queue entries. 
  94.  
  95.   Alt-X     =   Exit. 
  96.  
  97.   Ctrl-Break  =   Send break. 
  98.  
  99.   Ctrl-Insert  =   Copy. 
  100.  
  101.   Shift-Insert  =  Paste. 
  102.  
  103.   Page-Dn   =   Download. 
  104.  
  105.   Page-Up   =   Upload. 
  106.  
  107.   Print Scrn  =   Prints text in the visible 
  108.            window (full line length). 
  109.  
  110.  The up and down arrow keys default to scrolling the window. You can change 
  111.  this in the setup terminal dialog box so that when in ANSI mode the arrow keys 
  112.  will be sent to the modem. 
  113.  
  114.  In VT100 mode, some keys have been changed to try to closely emulate the VT100 
  115.  keyboard. F1-F4 are now the PF keys. Because of this the F1 key will not 
  116.  display the normal help, and F3 will not exit the program. The PF keys will 
  117.  send the following characters: 
  118.  
  119.    F1 = ESCOP 
  120.  
  121.    F2 = ESCOQ 
  122.  
  123.    F3 = ESCOR 
  124.  
  125.    F4 = ESCOS 
  126.  
  127.  Where ESC is equal to the ASCII character hex 1B. All other hot keys will not 
  128.  be available. When the num lock key is off the numerical key pad will be in 
  129.  the application mode. If you are connecting to a VT220 Host you can use these 
  130.  keys to send the VT220 PF key values. For example pressing the 1 on the 
  131.  numeric key pad will send the VT220 PF1 key. Pressing the 3 on the numeric key 
  132.  pad will send the VT220 PF3 key, and so on. With the num lock on the numbers 
  133.  will be sent. The plus key has been re-mapped to be a comma, again to be 
  134.  compatible with the VT100 keyboard. 
  135.  
  136.  
  137. ΓòÉΓòÉΓòÉ 3. File ΓòÉΓòÉΓòÉ
  138.  
  139. There is a collection of utilities in this section such as; Save_setup, 
  140. Scripts, Capture, Print, Copy, and  Paste. There is also an About box that has 
  141. information on  Multi-Net Communications, the company that wrote this software. 
  142.  
  143.  
  144. ΓòÉΓòÉΓòÉ 3.1. Save Setup ΓòÉΓòÉΓòÉ
  145.  
  146. Saves user definable configurations as well as screen size and position. 
  147.  
  148.  
  149. ΓòÉΓòÉΓòÉ 3.2. Capture ΓòÉΓòÉΓòÉ
  150.  
  151. Capture saves everything that is received from the modem to a file. For 
  152. example, you can capture all new messages and then read them after  you hang 
  153. up. If you specify PRN as the filename everything will be captured to the 
  154. printer. If you have Monitor_DCD selected then the capture file will be closed 
  155. when you log off. This will happen if you started the capture file from the 
  156. menu or from a internal script. 
  157.  
  158.  
  159. ΓòÉΓòÉΓòÉ 3.2.1. Start Capture ΓòÉΓòÉΓòÉ
  160.  
  161. You will be prompted for a file name and then everything that comes in from the 
  162. modem will be saved to that file. If PRN is selected then everything will be 
  163. sent to the printer. If the file exists you will be asked if you wish to 
  164. overwrite the file. If you select no, the new information will be appended to 
  165. the end of the file. Select cancel if you wish to abort the capture. 
  166.  
  167. You may also start the capture by clicking on the disk drive icon located on 
  168. the Status_Line. 
  169.  
  170.  
  171. ΓòÉΓòÉΓòÉ 3.2.2. Cancel Capture ΓòÉΓòÉΓòÉ
  172.  
  173. This command will turn off capture. This command will only work if capture was 
  174. started with the Start_Capture command. 
  175.  
  176. You may also cancel the capture command by clicking on the disk drive icon 
  177. located on the Status_Line. 
  178.  
  179.  
  180. ΓòÉΓòÉΓòÉ 3.3. Scripts ΓòÉΓòÉΓòÉ
  181.  
  182. Scripts allow you to have the computer perform certain tasks automatically. The 
  183. internal commands available are: 
  184.  
  185.  wait_for 
  186.  puts 
  187.  sleep 
  188.  call 
  189.  capture_on 
  190.  capture_off 
  191.  shell 
  192.  
  193.  The REXX commands that are available are: 
  194.  
  195.  init_dll 
  196.  setcom 
  197.  sendb 
  198.  dcd 
  199.  char_avail 
  200.  read_timeout 
  201.  Get_ch 
  202.  ring_detect 
  203.  drop_dtr 
  204.  raise_dtr 
  205.  Wait_for 
  206.  Wait_fore 
  207.  Put_s 
  208.  Sleep 
  209.  beep 
  210.  get_cursor_position 
  211.  get_char_at 
  212.  capture_on 
  213.  capture_off 
  214.  xmodem_send 
  215.  xmodem_receive 
  216.  xmodem_chk_send 
  217.  xmodem_chk_receive 
  218.  xmodem_1k_send 
  219.  xmodem_1k_receive 
  220.  ymodem_send 
  221.  ymodem_receive 
  222.  ymodemg_send 
  223.  ymodemg_receive 
  224.  zmodem_send 
  225.  zmodem_receive 
  226.  kermit_send 
  227.  kermit_receive 
  228.  ascii_send 
  229.  ascii_receive 
  230.  cisb_send 
  231.  cisb_receive 
  232.  set_download_path 
  233.  os2_shell 
  234.  
  235.  The 'C' library commands that are available are: 
  236.  
  237.  init_lib 
  238.  setcom 
  239.  sendb 
  240.  dcd 
  241.  char_avail 
  242.  read_timeout 
  243.  get_ch 
  244.  ring_detect 
  245.  drop_dtr 
  246.  raise_dtr 
  247.  wait_for 
  248.  wait_fore 
  249.  put_s 
  250.  sleep 
  251.  beep 
  252.  get_cursor_position 
  253.  get_char_at 
  254.  capture_on 
  255.  capture_off 
  256.  xmodem_send 
  257.  xmodem_receive 
  258.  xmodem_chk_send 
  259.  xmodem_chk_receive 
  260.  xmodem_1k_send 
  261.  xmodem_1k_receive 
  262.  ymodem_send 
  263.  ymodem_receive 
  264.  ymodemg_send 
  265.  ymodemg_receive 
  266.  zmodem_send 
  267.  zmodem_receive 
  268.  kermit_send 
  269.  kermit_receive 
  270.  ascii_send 
  271.  ascii_receive 
  272.  cisb_send 
  273.  cisb_receive 
  274.  set_download_path 
  275.  os2_shell 
  276.  
  277.  The scripts command is only available in the commercial version of Pmcomm. 
  278.  
  279.  
  280. ΓòÉΓòÉΓòÉ 3.3.1. Start Scripts ΓòÉΓòÉΓòÉ
  281.  
  282.  With this command you can start a pre-written script at any time, just enter 
  283. the file name of the script when prompted. If only the file name is entered, 
  284. the script path will be searched for the file. Full path and file names are 
  285. allowed. 
  286.  
  287. You may also start a script be clicking on the book icon located on the 
  288. Status_Line. 
  289.  
  290.  
  291. ΓòÉΓòÉΓòÉ 3.3.2. Script Dialog ΓòÉΓòÉΓòÉ
  292.  
  293. The Script Dialog displays information and options about the current script. 
  294. When the dialog is displayed you have the option of either aborting the script, 
  295. closing the dialog box, or skipping the currently executing command. 
  296.  
  297.  
  298. ΓòÉΓòÉΓòÉ 3.3.3. Cancel Script ΓòÉΓòÉΓòÉ
  299.  
  300. This command is used to stop a script that is already running. The script will 
  301. be canceled at the time this is selected unless the script is at a sleep 
  302. command. In this case the script will stop after the sleep time interval has 
  303. expired. 
  304.  
  305. You may also cancel a script by clicking on the book icon located on the 
  306. Status_Line. 
  307.  
  308.  
  309. ΓòÉΓòÉΓòÉ 3.3.4. Start Script Generator ΓòÉΓòÉΓòÉ
  310.  
  311. This is the command that executes Pmcomm's script generator. The script 
  312. generator will write a script in either REXX or Internal script syntax. If you 
  313. want a script that will log you on to a BBS turn the script generator on and 
  314. log on normally. Once finished logging on cancel the script generator. You now 
  315. have a script that will log you onto that BBS. 
  316.  
  317. You may also start the script generator by clicking on the generator icon 
  318. located on the Status_Line. 
  319.  
  320.  
  321. ΓòÉΓòÉΓòÉ <hidden> Filename ΓòÉΓòÉΓòÉ
  322.  
  323. Pmcomm allows you to choose either a path and filename or just the filename. If 
  324. only the filename is entered, Pmcomm will use the script directory that is 
  325. setup under the Paths option. Be sure that all REXX scripts have an extension 
  326. of .cmd and all Internal scripts have an extension of .scr. If these extensions 
  327. are not used Pmcomm will create the script but the script will not be able to 
  328. be executed. 
  329.  
  330.  
  331. ΓòÉΓòÉΓòÉ <hidden> Description ΓòÉΓòÉΓòÉ
  332.  
  333. This description will appear as the first line of the script. The description 
  334. will hopefully avoid any confusion about the purpose of the script a later 
  335. date. 
  336.  
  337.  
  338. ΓòÉΓòÉΓòÉ <hidden> REXX Script ΓòÉΓòÉΓòÉ
  339.  
  340. This will create a script using the REXX language. The filename must have an 
  341. extension of .cmd in order for it to be executed by the REXX interpreter. A 
  342. REXX script will execute a little slower than an Internal script, but it is 
  343. more flexible. 
  344.  
  345.  
  346. ΓòÉΓòÉΓòÉ <hidden> Internal Script ΓòÉΓòÉΓòÉ
  347.  
  348. This will create a script using Pmcomm's Internal script syntax. The filename 
  349. must have an .scr extension in order for it to be executed by Pmcomm. 
  350.  
  351.  
  352. ΓòÉΓòÉΓòÉ <hidden> Number of Characters in wait_fore ΓòÉΓòÉΓòÉ
  353.  
  354. The Number of Characters in wait_fore will decide the length of the wait_fore 
  355. statements. The default is 10 characters which for most purposes will be 
  356. adequate. 
  357.  
  358.  
  359. ΓòÉΓòÉΓòÉ 3.3.5. Cancel Script Generator ΓòÉΓòÉΓòÉ
  360.  
  361. This command turns of the script generator. You can also cancel the script 
  362. generator by clicking on the generator icon located on the Status_Line. 
  363.  
  364.  
  365. ΓòÉΓòÉΓòÉ 3.4. Log File  ΓòÉΓòÉΓòÉ
  366.  
  367. Logging writes to a file named pmcomm.log in the main pmcomm directory. The 
  368. type of information written is the time, date and name of the number  called. 
  369. The time, date, cps and name of files transferred will also be saved. If you 
  370. are setup  to monitor DCD the time and date of when the call was terminated 
  371. will also be recorded. 
  372.  
  373.  
  374. ΓòÉΓòÉΓòÉ 3.4.1. Start Logging ΓòÉΓòÉΓòÉ
  375.  
  376. The file named pmcomm.log in the main pmcomm directory will be opened. Any 
  377. logging information will be appended to the end of the file. 
  378.  
  379.  
  380. ΓòÉΓòÉΓòÉ 3.4.2. Cancel Logging ΓòÉΓòÉΓòÉ
  381.  
  382. The log file will be closed and no other information will be written to the log 
  383. file until it is re-opened using the Start Log option. 
  384.  
  385. You may also cancel logging by clicking on the log icon located on the 
  386. Status_Line. 
  387.  
  388.  
  389. ΓòÉΓòÉΓòÉ 3.5. File Import ΓòÉΓòÉΓòÉ
  390.  
  391. This command copies a file from disk and sends it to a remotely connected 
  392. computer. This can be handy for sending previously saved files as messages, or 
  393. during a chat session. At times this is handier then using the clipboard. The 
  394. delay time specified in the file import delay parameter under Options, 
  395. Protocols, will pause the specified number of seconds after each line has been 
  396. sent. This can be useful if the receiver can not process the information as 
  397. fast as Pmcomm can send it. 
  398.  
  399.  
  400. ΓòÉΓòÉΓòÉ 3.6. Print ΓòÉΓòÉΓòÉ
  401.  
  402. Print allows you to send information that was previously received out to the 
  403. printer. You can either send the information that is displayed on the visible 
  404. part of the window, or you can print the whole scroll back buffer. The print 
  405. function uses PRN as the device name for printing. 
  406.  
  407.  
  408. ΓòÉΓòÉΓòÉ 3.6.1. Print visible screen ΓòÉΓòÉΓòÉ
  409.  
  410. This command can also sent by pressing the Print Screen key. When Pmcomm 
  411. receives this message it prints all of the lines on the visible part of the 
  412. screen. 
  413.  
  414.  
  415. ΓòÉΓòÉΓòÉ 3.6.2. Print buffer ΓòÉΓòÉΓòÉ
  416.  
  417. When this is selected all of the scroll back buffer is sent out to the printer. 
  418. There are about 240 lines available in the scroll back buffer, so this command 
  419. may take awhile to complete. This does not mean that you can't do anything 
  420. else. Pmcomm will print in the background while you go on. 
  421.  
  422.  
  423. ΓòÉΓòÉΓòÉ 3.6.3. Print selected ΓòÉΓòÉΓòÉ
  424.  
  425. This will print previously selected text (by using the mouse) to the PRN 
  426. device. 
  427.  
  428. You may also print any selected text by clicking on the printer icon located on 
  429. the Status_Line. 
  430.  
  431.  
  432. ΓòÉΓòÉΓòÉ 3.6.4. Print continuous ΓòÉΓòÉΓòÉ
  433.  
  434. This will print everything that comes in from the com port to the PRN device. 
  435.  
  436.  
  437. ΓòÉΓòÉΓòÉ 3.6.5. Start continuous printing ΓòÉΓòÉΓòÉ
  438.  
  439. This will start continuous printing. Everything will be printed to the PRN 
  440. device. It is not recommended that you use this command unless you have the 
  441. OS/2 print spooler active. 
  442.  
  443. You may also start continuous printing by clicking on the printer icon located 
  444. on the Status_Line. 
  445.  
  446.  
  447. ΓòÉΓòÉΓòÉ 3.6.6. Cancel continuous printing ΓòÉΓòÉΓòÉ
  448.  
  449. This will cancel printing, that was started with the Start continuous printing 
  450. command. 
  451.  
  452. You may also cancel continuous printing by clicking on the printer icon located 
  453. on the Status_Line. 
  454.  
  455.  
  456. ΓòÉΓòÉΓòÉ 3.7. About ΓòÉΓòÉΓòÉ
  457.  
  458. The about box has information about this program, such as BBS support telephone 
  459. number, company name, version number, serial number, and copyright information. 
  460.  
  461.  
  462. ΓòÉΓòÉΓòÉ 3.8. Exit ΓòÉΓòÉΓòÉ
  463.  
  464. Ends current session with Pmcomm. Pmcomm closes the comport when exiting which 
  465. drops DTR. The hang-up string is also sent to the modem. 
  466.  
  467.  
  468. ΓòÉΓòÉΓòÉ 4. Edit ΓòÉΓòÉΓòÉ
  469.  
  470. In this section there are commands such as Copy, Paste, and Clear_Screen. 
  471.  
  472.  
  473. ΓòÉΓòÉΓòÉ 4.1. Copy ΓòÉΓòÉΓòÉ
  474.  
  475. Copy transfers information from the screen and places it into the Clipboard. 
  476. Other applications, such as a word processor, can then use this information. 
  477.  
  478.  
  479. ΓòÉΓòÉΓòÉ 4.2. Paste ΓòÉΓòÉΓòÉ
  480.  
  481. Paste, copies information from the clipboard and sends it out to the modem. 
  482. Care must be taken that the information sent can be handled by the remote 
  483. computer. A use for this command would be that you could enter a message in a 
  484. word processor, copy that message into the clipboard and then paste it into 
  485. Pmcomm. 
  486.  
  487.  
  488. ΓòÉΓòÉΓòÉ 4.3. Clear Screen ΓòÉΓòÉΓòÉ
  489.  
  490. Clears the whole screen including the scroll back buffer and resets the 
  491. attribute to the attribute defined in the setup area. 
  492.  
  493.  
  494. ΓòÉΓòÉΓòÉ 5. Connect ΓòÉΓòÉΓòÉ
  495.  
  496. This command allows you to connect to another computer, either through a modem, 
  497. using the Dial command or direct connect, using the Send_Break command. 
  498.  
  499.  
  500. ΓòÉΓòÉΓòÉ 5.1. Dial ΓòÉΓòÉΓòÉ
  501.  
  502. Dial uses a dialing_directory to store phone numbers and other information 
  503. about the computer. 
  504.  
  505.  
  506. ΓòÉΓòÉΓòÉ 5.1.1. Dial Dialog Help ΓòÉΓòÉΓòÉ
  507.  
  508. The dial dialog box allows you to add, select, modify, or delete entries in the 
  509. current dialing directory. An entry can also be selected to be automatically 
  510. selected (or optionally dialed) when Pmcomm is first started. 
  511.  
  512. To add an entry, select the add button in the dialog box. You will  then be 
  513. prompted to enter the name of the new entry. The directory will be sorted and 
  514. the new entry will be selected. The cursor will be positioned at the number 
  515. entry field so that the number for the new entry can be entered. After the 
  516. number has been entered, pressing the enter key will save the dialing directory 
  517. and dial the number(s). Pressing the tab key will allow you to edit the other 
  518. fields. 
  519.  
  520. To select a number, using a mouse, "click" on the number (or numbers) that you 
  521. wish  to dial. To de-select an entry "click" on the number once again. If you 
  522. are not using a mouse the arrow keys will move the highlight bar through the 
  523. directory. To select your choices press the space bar, a second time will 
  524. de-select the entry, then press enter. Multiple entries may be selected. This 
  525. will form a dialing queue, in which Pmcomm will dial the selected entries until 
  526. a connection is made. 
  527.  
  528. To modify an entry, select the entry to be edited and then use the tab key to 
  529. move the cursor to the field you wish to change. Use the Change button to 
  530. change the name of an entry. Pressing the save button will save the 
  531. modifications to the disk. 
  532.  
  533. To change a name, select the entry to be edited and then use press the change 
  534. button. The change will automatically be saved to the disk. 
  535.  
  536. To delete an entry, select the entry to be deleted and select the delete button 
  537. in the dialog box. 
  538.  
  539. CAUTION:
  540. If multiple entries are selected, only the first selected entry will be 
  541. deleted. 
  542.  
  543. The dial dialog box can also be accessed by clicking on the phone icon on the 
  544. Status_Line. 
  545.  
  546.  
  547. ΓòÉΓòÉΓòÉ 5.1.2. Dial Prefix ΓòÉΓòÉΓòÉ
  548.  
  549. Pmcomm sends the selected dial prefix to the modem before sending the phone 
  550. number. The default string for the prefixes is ATDT which tells the modem to 
  551. dial using tone (ie. touch tone). If your phone system does not support touch 
  552. tone then you could use the ATDP command. Pmcomm allows you to setup multiple 
  553. prefixes, so that if you need to dial a special code for long distance calls 
  554. you can set up a separate prefix for those calls. 
  555.  
  556.  
  557. ΓòÉΓòÉΓòÉ 5.1.3. Dial Suffix ΓòÉΓòÉΓòÉ
  558.  
  559. Pmcomm sends the selected dial suffix to the modem after sending the phone 
  560. number. The default string for the suffixes is ^M which is a carriage return 
  561. and line feed. 
  562.  
  563.  
  564. ΓòÉΓòÉΓòÉ 5.1.4. Automatically Selected ΓòÉΓòÉΓòÉ
  565.  
  566. If a dialing entry is marked as being automatically selected then each time 
  567. Pmcomm is started this entry will be selected to be dialed. You can have as 
  568. many entries automatically selected as you want, and this will form a dialing 
  569. queue. A dialing queue allows you to try the first number and if it is busy it 
  570. will then dial the next number in the queue. If the Dial Auto Selected Entries 
  571. on program Startup is selected then any entries in the dialing directory that 
  572. are marked as auto selected, will automatically be dialed. This option will 
  573. allow you to automatically dial selected numbers when Pmcomm is first invoked. 
  574.  
  575.  
  576. ΓòÉΓòÉΓòÉ 5.1.5. Dial List Box ΓòÉΓòÉΓòÉ
  577.  
  578. The Dial List Box is a multiple selection list box. This means that you can 
  579. select more then one entry at a time. The information on the right side of the 
  580. Dialog Box is on the first item selected. The reason for using a multiple 
  581. selection list box, is that you can select more than one item and these items 
  582. will be dialed in order. For example, if the first number selected is busy then 
  583. Pmcomm will dial the next number selected. If all selected numbers are busy, 
  584. Pmcomm will start over again. If you have multiple items selected and select 
  585. the Delete button, only the first item will be deleted. If an item is selected 
  586. and you double click on that item then the selected items will be dialed. 
  587.  
  588.  
  589. ΓòÉΓòÉΓòÉ 5.1.6. Baud Rate ΓòÉΓòÉΓòÉ
  590.  
  591. In the Dialing Dialog Box you can enter any baud supported by the device driver 
  592. you are using. Currently the maximum baud rate supported by the device driver 
  593. included with OS/2 is 19200. Commonly used baud rates are: 300, 1200, 2400, 
  594. 9600, and 19200. There are some device drivers currently available that support 
  595. up to 38400. To enter a baud rate, type in a valid baud rate. The com port will 
  596. be set to this value when the phone number is dialed. In the Port Options 
  597. Dialog Box the above mentioned baud rates can be selected by using the radio 
  598. buttons. 
  599.  
  600.  
  601. ΓòÉΓòÉΓòÉ 5.1.7. Parity ΓòÉΓòÉΓòÉ
  602.  
  603. The supported parities are: None, Even, Odd, Marked, and Space. To enter a 
  604. parity, type in one of the above words. The two most widely used parities are 
  605. None and Even. If you are calling most BBS's you would want to enter None, but 
  606. most packet networks (such as CompuServe and Telenet) normally require Even 
  607. parity. 
  608.  
  609.  
  610. ΓòÉΓòÉΓòÉ 5.1.8. Data Bits ΓòÉΓòÉΓòÉ
  611.  
  612. Currently supported data bits are 5, 6, 7, and 8. The most popular values are 7 
  613. and 8. For most BBS's 8 data bits are necessary, however, for systems such as 
  614. CompuServe, 7 data bits are required. 
  615.  
  616.  
  617. ΓòÉΓòÉΓòÉ 5.1.9. Stop Bits ΓòÉΓòÉΓòÉ
  618.  
  619. Currently supported stop bits are 1 and 2. Most systems will require 1 stop 
  620. bit. 
  621.  
  622.  
  623. ΓòÉΓòÉΓòÉ 5.1.10. Dial Script ΓòÉΓòÉΓòÉ
  624.  
  625. The script name can be up to 12 characters long. The script must be in the 
  626. script path (see Paths for more information). Any REXX script, Internal script, 
  627. or any OS/2 executable can be executed. Once Pmcomm is connected to the remote 
  628. computer this script will be executed. 
  629.  
  630.  
  631. ΓòÉΓòÉΓòÉ 5.1.11. Dial Terminal ΓòÉΓòÉΓòÉ
  632.  
  633. The currently available terminal emulations are TTY, ANSI, and VT100. Pmcomm 
  634. will switch to the terminal emulation listed once connected to the remote 
  635. computer. 
  636.  
  637.  
  638. ΓòÉΓòÉΓòÉ 5.2. Send Break ΓòÉΓòÉΓòÉ
  639.  
  640. Initializes a connection with another computer through a protocol converter. 
  641.  
  642.  
  643. ΓòÉΓòÉΓòÉ 6. Transfer ΓòÉΓòÉΓòÉ
  644.  
  645. Transfer allows the use of different protocols to send and receive files from a 
  646. remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  647. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, and ASCII. 
  648. Zmodem is probably the best selection, when available on the remote computer. 
  649. Ymodem-G should only be used with error correcting modems. 
  650.  
  651. IND$FILE is available for downloads using the VT100 terminal emulation only. 
  652.  
  653. CAUTION:
  654. IND$FILE currently does not have any error detection available in Pmcomm. 
  655.  
  656.  
  657. ΓòÉΓòÉΓòÉ 6.1. Download ΓòÉΓòÉΓòÉ
  658.  
  659. The download command brings up a dialog box for you to select the proper 
  660. protocol. If the protocol selected is not a batch protocol ( ASCII, 
  661. Xmodem_Checksum, Xmodem_CRC or 1K-Xmodem ) you will be prompted for a filename. 
  662. If you have Auto-Zmodem or Auto_CISB selected in the protocol options area, 
  663. Pmcomm will automatically start transferring as soon as the remote computer 
  664. starts to send. Zmodem is not available in the demonstration version. 
  665.  
  666.  
  667. ΓòÉΓòÉΓòÉ 6.2. Upload ΓòÉΓòÉΓòÉ
  668.  
  669. When sending a file to a remote computer you must select the same protocol that 
  670. the remote computer will use to receive the file. After selecting the proper 
  671. protocol, a file open dialog box will have you select the file you wish to 
  672. send. You can either double click on the file name or select the file and click 
  673. on the OK button. If you have Auto_CISB selected in the protocol options area, 
  674. Pmcomm will automatically start the transfer as soon as the remote computer 
  675. sends the transfer request. With a CISB transfer the filename is specified on 
  676. the host and the file open dialog box is not displayed. 
  677.  
  678. You may also use the drag and drop feature of Pmcomm. When files are dragged 
  679. from the file manager and dropped onto Pmcomm, the transfer protocol that is 
  680. listed for that phone number will be invoked and the file(s) will be sent to 
  681. the remote computer. If you have Monitor_DCD selected then drag options will 
  682. not be allowed until connected with another computer. 
  683.  
  684. To drag files from the file manager, select a file (or files) and then click on 
  685. the selected file(s) with the RIGHT mouse button and hold the button down. Once 
  686. you have begun to drag the files with the mouse the mouse pointer will change 
  687. shape. If the mouse pointer is over a program that does not accept drag and 
  688. drop the pointer will again change shape. When the mouse pointer is over any 
  689. part of Pmcomm you can release the right mouse button. This will drop the files 
  690. onto Pmcomm and Pmcomm will send them. This will even work if Pmcomm is an 
  691. icon. 
  692.  
  693. To change the protocol for the current phone number, select upload from the 
  694. menu and then select the protocol you want (make sure that the save to dialing 
  695. directory is selected). After pressing the OK button the file open dialog box 
  696. will be displayed. Just press cancel and you can now use the drag and drop with 
  697. the new protocol. 
  698.  
  699. If a file is dropped onto Pmcomm while it is an icon in a group menu, this file 
  700. will be used as a setup file, and Pmcomm will be invoked. 
  701.  
  702.  
  703. ΓòÉΓòÉΓòÉ 6.2.1. Xmodem Checksum ΓòÉΓòÉΓòÉ
  704.  
  705. Xmodem Checksum is one of the oldest protocols around and some people still use 
  706. it exclusively. It is a moderately fast protocol that has fairly good error 
  707. detection. 
  708.  
  709.  
  710. ΓòÉΓòÉΓòÉ 6.2.2. Xmodem CRC ΓòÉΓòÉΓòÉ
  711.  
  712. Xmodem CRC and Xmodem_Checksum are similar except CRC has better error 
  713. detection then Checksum. Almost anywhere you call will offer at least one of 
  714. these protocols. 
  715.  
  716.  
  717. ΓòÉΓòÉΓòÉ 6.2.3. 1k-Xmodem ΓòÉΓòÉΓòÉ
  718.  
  719. 1k-Xmodem uses the same error detection as Xmodem_CRC, but uses 1024 byte 
  720. blocks instead of 128 byte blocks. This allows for greater throughput (higher 
  721. characters per second) with roughly the same error detection. 
  722.  
  723.  
  724. ΓòÉΓòÉΓòÉ 6.2.4. Ymodem ΓòÉΓòÉΓòÉ
  725.  
  726. Ymodem uses the same error detection and block size as 1k-Xmodem but is a batch 
  727. protocol. This means that in the first block the file size and name are sent. 
  728. This keeps the receiver from having to type in the filename. It also allows you 
  729. to send more then one file without have to start the transfer again. This 
  730. protocol is second to Zmodem, in our opinion, when using non-error correcting 
  731. modems. 
  732.  
  733.  
  734. ΓòÉΓòÉΓòÉ 6.2.5. Ymodem-g ΓòÉΓòÉΓòÉ
  735.  
  736. Ymodem-g is identical to Ymodem except it has no error correction. If an error 
  737. is detected the transfer aborts. Because of this Ymodem-g should only be used 
  738. with error correcting modems. Pmcomm will allow you to use this protocol 
  739. anytime, but again care should be taken on what hardware it is used with. With 
  740. the proper hardware Ymodem-g has the fastest cps (characters per second). 
  741.  
  742.  
  743. ΓòÉΓòÉΓòÉ 6.2.6. Zmodem ΓòÉΓòÉΓòÉ
  744.  
  745. Zmodem is almost as fast as Ymodem-g, however Zmodem does support error 
  746. correction and file recovery. It only takes one aborted Ymodem-g transfer to 
  747. lose all it's advantages. Zmodem has many advantages as far as the user is 
  748. concerned. It is probably the easiest protocol to use. If using Pmcomm with the 
  749. Auto-Zmodem download feature, the whole download is done automatically from the 
  750. Pmcomm end. You have to select the file from the sender (BBS etc..) and once 
  751. the sender starts sending, the transfer will begin on Pmcomm. It may take a 
  752. moment before the sender sends the first sequence, so wait a moment. Some of 
  753. the advanced features of Zmodem are listed below. Zmodem supports: 
  754.  
  755.   1. CRC-32 and CRC-16. The additional error detection of 32 bit CRC is 
  756.      supported. 
  757.  
  758.   2. File recovery. If a Zmodem download is aborted for any reason the transfer 
  759.      will resume at the point where it was  aborted. You don't have to start 
  760.      the whole transfer over. 
  761.  
  762.   3. Auto-Download. When a Zmodem sending program starts up it first sends a rz 
  763.      and then a carriage return. Pmcomm will monitor for the startup sequence 
  764.      and automatically start the Zmodem download. Great care has been taken to 
  765.      make sure that it really is a Zmodem transfer and not someone typing it in 
  766.      at the keyboard (at either end). This feature makes downloading with 
  767.      Zmodem much faster and much easier. 
  768.  
  769.   4. Variable length headers. This reduces the amount of overhead that accrues 
  770.      with sending Zmodem headers. This is only used if supported by both the 
  771.      sender and receiver. 
  772.  
  773.   5. RLE encoding. Run length encoding is a form of file compression. Instead 
  774.      of sending 20 spaces it will send a space and the number 20. The receiver 
  775.      will then decompress it. Because of the multi-thread (tasking) 
  776.      capabilities of OS/2 this works much better then with DOS. This also is 
  777.      only used if supported by both the sender and receiver. 
  778.  
  779.   6. Variable length receive buffers. Some Zmodem receive programs have 
  780.      problems with writing to the disk and receiving from the comport at the 
  781.      same time. If necessary Zmodem will wait for an ACK from the receiver 
  782.      after the specified buffer size has been sent. This will only be done if 
  783.      it is requested by the receiver requests it. 
  784.  
  785.   7. Retains original file size. Some people say that because Zmodem headers 
  786.      are larger that there is two much overhead. This really isn't the case. 
  787.      For example if comparing Zmodem to Ymodem-g (full flow Ymodem), Ymodem-g 
  788.      has less overhead with each packet. However Ymodem-g rounds the file size 
  789.      up to an even 128 byte size. In some cases it is even rounded up 1024 
  790.      bytes. This is done because Ymodem (g or otherwise) only supports two 
  791.      block sizes, 128 and 1024 (the block size is actually 133 and 1029 to 
  792.      allow for the block header, STX or SOH, and the CRC value), so it has to 
  793.      send full blocks. However, Zmodem uses variable  block sizes. The block 
  794.      sizes adjust from 32 bytes to 1024 bytes. If telephone line quality is 
  795.      poor smaller blocks are sent so that if an error does occur less data will 
  796.      have to be resent. As the line quality improves the size of the blocks 
  797.      will be increased. The starting block size is variable depending on the 
  798.      connected baud rate. 
  799.  
  800.   8. Error recovery. Because Zmodem can resend from any place in the file, 
  801.      aborted transfers are rare. 
  802.  
  803.  By reading this you can tell our favorite protocol is Zmodem. Once you have 
  804.  used Zmodem it's hard to get used to using other protocols. 
  805.  
  806.  
  807. ΓòÉΓòÉΓòÉ 6.2.7. ASCII ΓòÉΓòÉΓòÉ
  808.  
  809. The ASCII protocol can be used to transfer text files. There is no error 
  810. detection or correction available with this protocol. It is recommended that 
  811. one of the other protocols be used, even with text files. 
  812.  
  813.  
  814. ΓòÉΓòÉΓòÉ 6.2.8. CISB ΓòÉΓòÉΓòÉ
  815.  
  816. The CIS B protocol can be used to transfer files to and from CompuServe. 
  817. CompuServe B, B+ and Quick B are supported. Quick B is the fastest variant of 
  818. the B protocol and is automatically selected when it is supported on the host 
  819. computer. The CIS B protocol is an automatic protocol where the host initiates 
  820. the transfer and Pmcomm will automatically go into the send or receive mode. If 
  821. you are sending a file, the file must exist in the download directory of 
  822. Pmcomm. If Pmcomm is unable to find the file then the transfer will abort. 
  823. Pmcomm can be configured to ignore the CIS B protocol by de-selecting the 
  824. Automatic CIS B option in the Protocol Option Dialog. Pmcomm may run slightly 
  825. faster in terminal mode without this selection. Under most systems the 
  826. difference will not be detectable. 
  827.  
  828. Another option for CIS B is for file recovery. What this option will do is if 
  829. you started a download and aborted the transfer you can then re-start the 
  830. transfer and CIS B will resume from the place where it was aborted. This can be 
  831. very handy in poor phone line conditions. The packet size for CIS B is adjusted 
  832. by the connecting baud rate. For example, if you are connected to CompuServe at 
  833. 2400 baud the packet size will be 1024 bytes. If you connect at 1200 baud the 
  834. packet size will be 512 bytes. This allows for speedy error recovery in case a 
  835. error occurs because of phone line noise. Downloads will automatically be 
  836. placed in the Pmcomm download directory and the download directory will 
  837. automatically searched for any uploaded files. If you specify a path with the 
  838. filename when  CompuServe asks for a filename for your computer, then this path 
  839. will be used. CIS B should be the protocol used when transferring files to and 
  840. from CompuServe. 
  841.  
  842.  
  843. ΓòÉΓòÉΓòÉ 6.2.9. Kermit ΓòÉΓòÉΓòÉ
  844.  
  845. Kermit is the slowest protocol offered here and should only be used when no 
  846. other protocol is available. Kermit does have advantages and it is offered on 
  847. many mini-computers as well as mainframes. Kermit will also transfer binary 
  848. files when connected at 7,E,1. The maximum packet size that is allowed is 94 
  849. bytes which is one of the reasons that makes Kermit slow. There is a variation 
  850. of Kermit that allows larger packet size, but it is not implemented in Pmcomm. 
  851. Kermit allows batch transfers, both in sending and receiving, and will attempt 
  852. to preserve the file names. If Pmcomm gets an error when trying to create the 
  853. file name received from the sender it will convert it to a "8.3" type of file 
  854. name. Kermit allows variable packet sizes so the original file size is 
  855. maintained. 
  856.  
  857. Pmcomm allows you to change the "End of Line" character (also called end of 
  858. packet), the "Quoting character" (sent before control codes), the "pad 
  859. character", and the number of pad characters you want. You can also tell Pmcomm 
  860. to force an 8 bit transfer even if it is on at 7,E,1. This comes in handy if 
  861. you are downloading files from Compu-Serve. If this option is not selected and 
  862. you are on at 7 data bits, Pmcomm will use what is called the 7 bit quoting. 
  863. The 7 bit quote character that Pmcomm uses is a &. 
  864.  
  865.  
  866. ΓòÉΓòÉΓòÉ 6.2.10. IND$FILE ΓòÉΓòÉΓòÉ
  867.  
  868. IND$FILE currently is only supported under VT100 terminal emulation through a 
  869. 3708 protocol converter. Because of problems with character conversion through 
  870. the protocol converter error detection is not currently available. Because of 
  871. this, files received using IND$FILE maybe CORRUPTED! Use this protocol at your 
  872. own risk! IND$FILE is not a very efficient protocol because every byte that is 
  873. transferred must be checked to see if it will pass through a 7 bit data stream 
  874. and escaped if it will not. This can greatly reduce the amount of data that can 
  875. be sent in each packet. 
  876.  
  877.  
  878. ΓòÉΓòÉΓòÉ <hidden> PC File Name ΓòÉΓòÉΓòÉ
  879.  
  880. This is the file name which will be used on the receiver. If a full path and 
  881. file name are used the file will reside at that address. If just a file name is 
  882. specified the file will be stored in the upload directory set in the Paths menu 
  883. option. This file name must be specified or the transfer will not work. 
  884.  
  885.  
  886. ΓòÉΓòÉΓòÉ <hidden> Host File Name ΓòÉΓòÉΓòÉ
  887.  
  888. This is the file name as it resides on the Host. If this filename is not 
  889. specified, Pmcomm will default to the PC File Name as the Host File Name. 
  890.  
  891.  
  892. ΓòÉΓòÉΓòÉ <hidden> Binary ΓòÉΓòÉΓòÉ
  893.  
  894. This option will tell the Host to send the file as a Binary file. 
  895.  
  896.  
  897. ΓòÉΓòÉΓòÉ <hidden> Ascii ΓòÉΓòÉΓòÉ
  898.  
  899. This option will tell the Host to send the file as an Ascii file. 
  900.  
  901.  
  902. ΓòÉΓòÉΓòÉ <hidden> CRLF ΓòÉΓòÉΓòÉ
  903.  
  904. This option will tell the Host to send a "carriage return line feed" after each 
  905. record. This option will be needed on most Ascii file transfers while rarely 
  906. needed with a Binary file transfer. 
  907.  
  908.  
  909. ΓòÉΓòÉΓòÉ 6.2.11. Save to Dial Directory ΓòÉΓòÉΓòÉ
  910.  
  911. When this option is selected the file transfer protocol that is selected will 
  912. be saved into the dialing directory for this number. The next time a file 
  913. transfer is used when connected to this number this same protocol will be 
  914. selected and all the user will have to do is press the OK button. If you do not 
  915. want this protocol save then de-select this option. 
  916.  
  917.  
  918. ΓòÉΓòÉΓòÉ 7. Hangup ΓòÉΓòÉΓòÉ
  919.  
  920. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  921. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  922. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  923. slower because Pmcomm has to get the modem into the command state before 
  924. sending the hang-up string. If you have DTR on and delete the hang-up string 
  925. the hang-up will be much faster. The default string is : +++~~~~ATH^M. The +++ 
  926. is the default modem attention string, which puts the modem into the command 
  927. state. The ~~~~ will make Pmcomm pause 2 seconds (.5 seconds per ~) and then 
  928. the ATH will force the modem to go on-hook (hangup). The ^M sends a carriage 
  929. return line feed combination. 
  930.  
  931.  
  932. ΓòÉΓòÉΓòÉ 8. Options ΓòÉΓòÉΓòÉ
  933.  
  934. Option allows you to tailor Pmcomm to your own tastes. The areas in option are: 
  935. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, Screen, Terminal, and 
  936. Chat. The setup is not automatically saved. This allows you to change things 
  937. temporally without changing your default setup file. If you do want to make the 
  938. changes permanent be sure to save the setup file. To save the current setup 
  939. file,  use the Save_setup command under the File menu option. 
  940.  
  941.  
  942. ΓòÉΓòÉΓòÉ 8.1. Port ΓòÉΓòÉΓòÉ
  943.  
  944. The device name should be a valid com device name. Some third party device 
  945. drivers allow you to use names other then COM1, COM2, etc., so Pmcomm does not 
  946. limit you to these names. Hardware flow control and DTR should be on for most 
  947. modems. There are currently a couple third party device drivers as well as OS/2 
  948. 2.0, that support 38400 baud, so Pmcomm has been made to support this baud 
  949. rate. 
  950.  
  951.  
  952. ΓòÉΓòÉΓòÉ 8.1.1. Device Open Error Retries ΓòÉΓòÉΓòÉ
  953.  
  954. This is the number of attempts Pmcomm will try to open a device. After the 
  955. specified number of attempts Pmcomm will exit. If 0 is entered, Pmcomm will not 
  956. retry to open the device. This option is generally used to access a shared com 
  957. port (i.e. modem pool). 
  958.  
  959.  
  960. ΓòÉΓòÉΓòÉ 8.1.2. Seconds Between Retries ΓòÉΓòÉΓòÉ
  961.  
  962. This is the number of seconds Pmcomm will wait before retrying to open a 
  963. device. 
  964.  
  965.  
  966. ΓòÉΓòÉΓòÉ 8.1.3. Device Name ΓòÉΓòÉΓòÉ
  967.  
  968. The device name should be a valid com device name. Some third party device 
  969. drivers allow you to use, and in some cases require that you use, names other 
  970. then COM1, COM2, etc., so Pmcomm does not limit you to these names. If you are 
  971. using Pmcomm across a LAN then normally there will be an Alias name for the com 
  972. port you are using on the server. See your LAN administrator for the Alias 
  973. name(s) that you should use to access the modem(s). 
  974.  
  975.  
  976. ΓòÉΓòÉΓòÉ 8.1.4. Hardware Flow Control ΓòÉΓòÉΓòÉ
  977.  
  978. Hardware Flow Control is generally the most reliable method of flow control. 
  979. There are two basic times when flow control is needed. First, if Pmcomm is 
  980. sending information to the modem faster than the modem is able to send the 
  981. information flow control is needed. If flow control is not enabled then a 
  982. transmission error will occur. Second if the modem is sending information to 
  983. Pmcomm faster then Pmcomm can receive it, then Pmcomm will try to tell the 
  984. modem to stop sending the information. This can occur when an excessive amount 
  985. of processing is being preformed on the computer. Hardware Flow Control uses 
  986. two modem signals to control the flow of information. For send flow control the 
  987. CTS modem line is used. For receive flow control the RTS modem line is used. If 
  988. your modem supports these flow control signals, then setup your modem and 
  989. Pmcomm for Hardware Flow Control. 
  990.  
  991.  
  992. ΓòÉΓòÉΓòÉ 8.1.5. XON/XOFF Flow Control ΓòÉΓòÉΓòÉ
  993.  
  994. Xon/Xoff Flow Control should only be used when Hardware_Flow_Control is not 
  995. available and when flow control is necessary. The only two file transfers that 
  996. will work correctly with Xon/Xoff are ASCII and Zmodem. The only other protocol 
  997. that should need flow control is Ymodem-g. 
  998.  
  999.  
  1000. ΓòÉΓòÉΓòÉ 8.1.6. Use DTR ΓòÉΓòÉΓòÉ
  1001.  
  1002. DTR stands for Data Terminal Ready, which by lowering DTR you can signal the 
  1003. device you are communicating with (usually a modem) that you wish to go off 
  1004. line. If you are connected to a modem you should set the modem up to go on-hook 
  1005. when the modem detects a drop in DTR. The command for a Hayes 2400 baud modem 
  1006. is AT&D2. If this option is selected in Pmcomm, then DTR will be dropped when 
  1007. the hangup command is selected, or after each re-dial attempt. 
  1008.  
  1009.  
  1010. ΓòÉΓòÉΓòÉ 8.1.7. Monitor DCD ΓòÉΓòÉΓòÉ
  1011.  
  1012. DCD stands for Data Carrier Detect and is pin 8 on an RS-232C cable. When a 
  1013. carrier is detected by the modem, Pmcomm assumes that you are connected to a 
  1014. remote computer. If DCD is not supported by your modem or other hardware, then 
  1015. this option should be turned off. With this option turned on, if no DCD is 
  1016. present then Pmcomm will not Hangup, or go into a file transfer. The drag and 
  1017. drop from the file manager will also be disabled. The command for a Hayes 2400 
  1018. baud modem is AT&C1. This will have the modem track the state of DCD. 
  1019.  
  1020.  
  1021. ΓòÉΓòÉΓòÉ 8.1.8. Default Baud ΓòÉΓòÉΓòÉ
  1022.  
  1023. The default baud is the baud rate that the com port is set to when Pmcomm is 
  1024. first executed. The baud rate is changed to the value in the dialing directory 
  1025. when a number is dialed. Normally the default baud should be set to the highest 
  1026. baud rate supported by your modem. If you have Pmcomm connected directly to 
  1027. another computer with a NULL modem cable, then you want to set this baud to the 
  1028. same baud rate that the other computer is using. 
  1029.  
  1030.  
  1031. ΓòÉΓòÉΓòÉ 8.1.9. 8/N/1 ΓòÉΓòÉΓòÉ
  1032.  
  1033. This selection means 8 data bits, No parity, 1 stop bit. This option will be 
  1034. overridden with the parameters listed in the dialing directory once you have 
  1035. connected with a remote computer. 
  1036.  
  1037.  
  1038. ΓòÉΓòÉΓòÉ 8.1.10. 7/E/1 ΓòÉΓòÉΓòÉ
  1039.  
  1040. This selection means 7 data bits, Even parity, 1 stop bit. This option will be 
  1041. overridden with the parameters listed in the dialing directory once you have 
  1042. connected with a remote computer. 
  1043.  
  1044.  
  1045. ΓòÉΓòÉΓòÉ 8.2. Dial Setup ΓòÉΓòÉΓòÉ
  1046.  
  1047. This allows you to select a dialing_directory from a list box and also lets you 
  1048. setup the prefix and suffix of the number to be dialed. There is a list box 
  1049. that will allow you to select how the dialing directory will be sorted. You can 
  1050. sort the dialing directory by name, number, baud rate, last on, number of times 
  1051. called, download cps, upload cps, dial prefix, and dial suffix. You can also 
  1052. select either ascending or descending order. 
  1053.  
  1054.  
  1055. ΓòÉΓòÉΓòÉ 8.2.1. Dial Auto Selected Entries ΓòÉΓòÉΓòÉ
  1056.  
  1057. If the Dial Auto Selected Entries on program Startup is selected then any 
  1058. entries in the dialing directory that are marked as automatically_selected , 
  1059. will automatically be dialed. This option will allow you to automatically dial 
  1060. selected numbers when Pmcomm is first invoked. This can be very useful if you 
  1061. dial the same numbers each time you run Pmcomm. 
  1062.  
  1063.  
  1064. ΓòÉΓòÉΓòÉ 8.2.2. Sort Dialing Directory ΓòÉΓòÉΓòÉ
  1065.  
  1066. The dialing_directory can be sorted by either the name, phone number, baud 
  1067. rate, last time called, number of times called, download characters per second, 
  1068. upload characters per second, dial prefix, or dial suffix. The directory can be 
  1069. sorted in either ascending or descending order. For example you can sort the 
  1070. dialing directory by last time called in descending order, and all the most 
  1071. recently called numbers will be displayed at the top of the dialing directory. 
  1072.  
  1073.  
  1074. ΓòÉΓòÉΓòÉ 8.2.3. Dialing Directory List ΓòÉΓòÉΓòÉ
  1075.  
  1076. A list of the available dialing_directories are displayed in a list box, so 
  1077. that a default directory can be selected. The selected directory will 
  1078. automatically be loaded when Pmcomm is started. You can add additional 
  1079. directories by pressing the add button. 
  1080.  
  1081.  
  1082. ΓòÉΓòÉΓòÉ 8.3. Modem ΓòÉΓòÉΓòÉ
  1083.  
  1084. The initialization string should have the commands in it to enable word result 
  1085. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1086. these are supported by all modems but use them when possible. Pause before 
  1087. redial is the time Pmcomm waits before trying to re-dial a number. Seconds to 
  1088. wait for carrier is how long  Pmcomm will wait for a connection before 
  1089. re-dialing. 
  1090.  
  1091.  
  1092. ΓòÉΓòÉΓòÉ 8.3.1. Modem Initialization String ΓòÉΓòÉΓòÉ
  1093.  
  1094. Initialization string should have the commands in it to enable word result 
  1095. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1096. these are supported by all modems, but use them when possible. Pmcomm's default 
  1097. modem string is for a Hayes 2400 baud modem. This is the default string: 
  1098.  
  1099.  AT&F&D2&C1M0Q0S2=255S10=30X4 
  1100.  
  1101.  For a Courier HST the following string should be entered. 
  1102.  
  1103.  AT&FM0&B1&H1&K0&R2&S1&Y0S2=43S10=30X4 
  1104.  
  1105.  This allows everything to be transferred to the modem at 19200 no matter what 
  1106.  the connect baud is. This setting will give you the max through-put even at 
  1107.  lower baud rates. To write this into memory of the HST run Pmcomm and then 
  1108.  enter AT&F&W. This will set the NRAM to the factory defaults. Then type in the 
  1109.  setup string and press enter. To save this to the NRAM enter AT&W. Then all 
  1110.  you have to have for a initialization string in Pmcomm is an ATZ, which will 
  1111.  restore these settings from the NRAM. On the HST I have the DIP switches set 
  1112.  as follows: 
  1113.  
  1114.  up: 1,2,4,6,7,9,10 
  1115.  down: 3,5,8 
  1116.  
  1117.  For a Hayes 9600 V.42 modem the following string should be entered. 
  1118.  
  1119.  AT&F&K3W1&C1&D2S36=7S0=0S2=255S7=30M0S10=30X4N1 
  1120.  
  1121.  
  1122. ΓòÉΓòÉΓòÉ 8.3.2. Modem Pause Before Redial ΓòÉΓòÉΓòÉ
  1123.  
  1124. Pmcomm will pause for the specified number of seconds before attempting to 
  1125. re-dial a phone number. Some phone systems take a few seconds before you can 
  1126. re-dial a phone number. The default value is 3 seconds and should work for most 
  1127. phone systems. 
  1128.  
  1129.  
  1130. ΓòÉΓòÉΓòÉ 8.3.3. Modem Dial Timeout ΓòÉΓòÉΓòÉ
  1131.  
  1132. Pmcomm will wait for a Connect or Carrier message from the modem for up to 64 
  1133. seconds. The S7 register of the modem must also be set to a value at least as 
  1134. great as the dial timeout value. This can be done by issuing the following 
  1135. command to the modem: ATS7=30. This would set the modem to timeout after 30 
  1136. seconds. Setting the dial timeout to a value greater then 30 would not be 
  1137. effective because the modem would still timeout after 30 seconds. The default 
  1138. timeout value for Pmcomm is 60 seconds. 
  1139.  
  1140.  
  1141. ΓòÉΓòÉΓòÉ 8.4. Protocols ΓòÉΓòÉΓòÉ
  1142.  
  1143. The options under protocols are: 
  1144.  
  1145.  Auto Zmodem Download. 
  1146.  
  1147.  Zmodem file recovery. 
  1148.  
  1149.  Zmodem CRC-32. 
  1150.  
  1151.  Zmodem CRC-16. 
  1152.  
  1153.  Auto CISB Transfer. 
  1154.  
  1155.  CISB file recovery. 
  1156.  
  1157.  Import File line delay. 
  1158.  
  1159.  Force 8 bit transfer. 
  1160.  
  1161.  End of line character. 
  1162.  
  1163.  Control quote character. 
  1164.  
  1165.  Number of pad characters. 
  1166.  
  1167.  Pad character. 
  1168.  
  1169.  IND$FILE. 
  1170.  
  1171.  Auto Zmodem makes Pmcomm check for a Zmodem start sequence. When received, 
  1172.  Pmcomm automatically starts receiving the file. Zmodem file recovery allows 
  1173.  Zmodem to resume a file transfer that was previously aborted. CRC-32 has 
  1174.  improved error correction but is slightly slower. If CRC-32 is not available 
  1175.  Pmcomm will switch to CRC-16. Zmodem is only available on commercial versions. 
  1176.  Auto CISB is similar to Auto Zmodem except that both uploads and downloads can 
  1177.  be started this way. This feature is for the CISB file transfer protocol. CISB 
  1178.  file recovery allows CISB to resume a file transfer that was previously 
  1179.  aborted. The IND$FILE protocol may also be selected for downloads. 
  1180.  
  1181.   CAUTION:
  1182.  The IND$FILE file transfer protocol in Pmcomm, currently, does not support any 
  1183.  error detection. 
  1184.  
  1185.  The rest are Kermit options and should be made to match your host. 
  1186.  
  1187.  
  1188. ΓòÉΓòÉΓòÉ 8.5. Paths ΓòÉΓòÉΓòÉ
  1189.  
  1190. The download path allows you to have the files that you download put into a 
  1191. different directory. The script path is where Pmcomm looks for the scripts 
  1192. listed in the dialing directory. If a script called startup.scr exists in this 
  1193. directory then it will be executed each time Pmcomm is started. The capture 
  1194. path is where all screen captures are stored. These paths must contain a valid 
  1195. directory. It defaults to the directory that Pmcomm was started from. There is 
  1196. also a call logging option here which when turned on will start call logging as 
  1197. soon as Pmcomm is run. 
  1198.  
  1199.  
  1200. ΓòÉΓòÉΓòÉ 8.6. Macros Setup ΓòÉΓòÉΓòÉ
  1201.  
  1202. There are 10 user definable keyboard macros. These can be invoked by holding 
  1203. down the Alt key and pressing 0-9. Use ^M to send a carriage return. When the 
  1204. macro is invoked it will send the string that you have defined to the modem. 
  1205. Once you  have setup the macro string, it can also be selected from the main 
  1206. menu using a mouse. Other special characters are: ^H = tab character. 
  1207.  
  1208.  ^J = carriage return without a line feed. 
  1209.  
  1210.  ^L = form feed. 
  1211.  
  1212.  ^[ = escape character (Ascii 27) 
  1213.  
  1214.  ^C = send the Ctrl-C character (Ascii 3) 
  1215.  
  1216.  ^K = XON character 
  1217.  
  1218.  ^S = XOFF character 
  1219.  
  1220.  ~  = sleep for half a second 
  1221.  
  1222.  You can also send any other special character by holding down the Alt key and 
  1223.  typing in the Ascii number on the numeric key pad. For example, if you want to 
  1224.  enter the escape character into a macro you could hold down the Alt key and 
  1225.  then press the two and the seven on the numeric key pad (while still holding 
  1226.  down the Alt key). When you then release the Alt key the escape character 
  1227.  would be inserted into the macro. Scripts can be executed from macros by using 
  1228.  the shell command. An example of this would be: 
  1229.  
  1230.  shell("c:\pmcomm\plane.cmd"); 
  1231.  
  1232.  This would execute the REXX script called plane.cmd. This allows you a quick 
  1233.  and easy way to execute often used scripts. 
  1234.  
  1235.  
  1236. ΓòÉΓòÉΓòÉ 8.7. Screen ΓòÉΓòÉΓòÉ
  1237.  
  1238. This command allows you to tailor the screen handling to your tastes. The best 
  1239. thing to do is try them to see if you like them. Some features like the 
  1240. automatic horizontal scroll will probably only be used when typing messages and 
  1241. chatting. 
  1242.  
  1243.  
  1244. ΓòÉΓòÉΓòÉ 8.7.1. Font ΓòÉΓòÉΓòÉ
  1245.  
  1246. Allows you to select from a list of font sizes. The sizes depend on the display 
  1247. adapter and version of OS/2 your are using. Pmcomm queries the video device 
  1248. driver to see what font sizes it supports and lists them for you to select. 
  1249.  
  1250.  
  1251. ΓòÉΓòÉΓòÉ 8.7.2. Foreground ΓòÉΓòÉΓòÉ
  1252.  
  1253. Sets up the color to be used for the text used in the Pmcomm window. There are 
  1254. 16 different background and foreground colors available, allowing for 256 
  1255. different color combinations. 
  1256.  
  1257.  
  1258. ΓòÉΓòÉΓòÉ 8.7.3. Background ΓòÉΓòÉΓòÉ
  1259.  
  1260. Sets up the color to be used for the Pmcomm window background. There are 16 
  1261. different background and foreground colors available, allowing for 256 
  1262. different color combinations. 
  1263.  
  1264.  
  1265. ΓòÉΓòÉΓòÉ 8.7.4. Hide Window While Dialing ΓòÉΓòÉΓòÉ
  1266.  
  1267. The hide window while dialing option will make the screen less "busy" while 
  1268. dialing. 
  1269.  
  1270.  
  1271. ΓòÉΓòÉΓòÉ 8.7.5. Hide Window During a File Transfer ΓòÉΓòÉΓòÉ
  1272.  
  1273. The hide window during a file transfer option will make the screen less "busy" 
  1274. while executing a file transfer. 
  1275.  
  1276.  
  1277. ΓòÉΓòÉΓòÉ 8.7.6. Automatic Vertical Scroll ΓòÉΓòÉΓòÉ
  1278.  
  1279. The Automatic vertical scroll option will make Pmcomm keep the cursor 
  1280. vertically in the Pmcomm window. 
  1281.  
  1282.  
  1283. ΓòÉΓòÉΓòÉ 8.7.7. Automatic Horizontal Scroll ΓòÉΓòÉΓòÉ
  1284.  
  1285. The Automatic horizontal scroll option will keep the cursor horizontally in the 
  1286. Pmcomm window. 
  1287.  
  1288.  
  1289. ΓòÉΓòÉΓòÉ 8.7.8. Retain Dialing Dialog's Position ΓòÉΓòÉΓòÉ
  1290.  
  1291. The retain dialing dialog's position option will make Pmcomm restore the last 
  1292. position of the dialing dialog each time it is invoked. If this option is not 
  1293. selected then OS/2 will decide where to place the dialog boxes. 
  1294.  
  1295.  
  1296. ΓòÉΓòÉΓòÉ 8.7.9. Retain Transfer Dialog's Position ΓòÉΓòÉΓòÉ
  1297.  
  1298. The retain transfer dialog's position option will make Pmcomm restore the last 
  1299. position of the transfer dialog each time it is invoked. If this option is not 
  1300. selected then OS/2 will decide where to place the dialog boxes. 
  1301.  
  1302.  
  1303. ΓòÉΓòÉΓòÉ 8.7.10. Show Dial Message Box ΓòÉΓòÉΓòÉ
  1304.  
  1305. The Show Dial Message Box option makes Pmcomm display a message box and beeps 
  1306. at the user, when Pmcomm obtains a remote connection, until the OK button is 
  1307. pressed. This will make sure you notice that Pmcomm has a remote connection. 
  1308.  
  1309.  
  1310. ΓòÉΓòÉΓòÉ 8.7.11. Local Echo On ΓòÉΓòÉΓòÉ
  1311.  
  1312. The local echo on option will make Pmcomm echo all keystrokes to the local 
  1313. screen as well as to the remote computer. 
  1314.  
  1315.  
  1316. ΓòÉΓòÉΓòÉ 8.7.12. Turn Sound On ΓòÉΓòÉΓòÉ
  1317.  
  1318. The turn sound on option will make Pmcomm alert the user when certain functions 
  1319. have been completed. The sound must also be turned on in OS/2 for this option 
  1320. to work. This can be done through the control panel. 
  1321.  
  1322.  
  1323. ΓòÉΓòÉΓòÉ 8.8. Status Line ΓòÉΓòÉΓòÉ
  1324.  
  1325. This option will activate Pmcomm's Status Line. The Status Line allows you, at 
  1326. a glance, to view which options are currently running. 
  1327.  
  1328. Phone Icon 
  1329.  
  1330. There are many options that can be accessed by the Phone Icon. If the telephone 
  1331. is on-hook (hung up) and you click on the icon, Pmcomm will dial any numbers 
  1332. that you have selected in the dialing directory. If there aren't any numbers 
  1333. selected, Pmcomm will "pop" up the dialing directory. 
  1334.  
  1335. If you select a dialing directory in File Manager and hold down the right mouse 
  1336. button you can drag the dialing directory to the phone icon. Once the button is 
  1337. released over the phone icon, Pmcomm will dial any selected numbers. If there 
  1338. aren't any numbers selected, Pmcomm will "pop" up the dialing directory. 
  1339.  
  1340. Once online the phone icon will be taken off-hook. If the phone is off-hook and 
  1341. you click on the icon Pmcomm will hang-up. If Monitor DCD is turned off and you 
  1342. click on the icon, Pmcomm will dial any selected numbers in the dialing 
  1343. directory. If there aren't any numbers selected, Pmcomm will "pop" up the 
  1344. dialing directory. 
  1345.  
  1346. If Monitor DCD is turned off the telephone will appear with a question mark 
  1347. imposed over the top of it. 
  1348.  
  1349. Disk Drive Icon 
  1350.  
  1351. The Disk Drive Icon allows a quick and easy way to turn the Capture option on 
  1352. and off. If the disk drive icon light is green and you click on the icon Pmcomm 
  1353. will will then prompt you for the filename of the capture file. If the disk 
  1354. drive icon light is red Pmcomm is already executing the Capture command. If you 
  1355. click on the icon while the disk drive icon light is red, Pmcomm will cancel 
  1356. the Capture command. 
  1357.  
  1358. Log Icon 
  1359.  
  1360. By clicking on the log icon, Pmcomm will turn logging on. When logging is on, 
  1361. the log will appear with logging equipment (cross-cut saw and an axe), if you 
  1362. click on this icon Pmcomm will turning logging off. 
  1363.  
  1364. Printer Icon 
  1365.  
  1366. By clicking on the Printer Icon you can print any selected text. If there isn't 
  1367. any selected text, Pmcomm will execute the Print Continuous command. Clicking 
  1368. on the icon again will turn the Print Continuous command off. 
  1369.  
  1370. Generator Icon 
  1371.  
  1372. Clicking on the Generator Icon will turn on the Script Generator. Pmcomm will 
  1373. then prompt you for a filename for the script. If you click on the icon again, 
  1374. Pmcomm will turn off the Script Generator. The Generator Icon will have 
  1375. lightning bolts about it when a script is being generated. 
  1376.  
  1377. Book Icon 
  1378.  
  1379. Clicking on the the Book Icon will execute a script. If Pmcomm is executing a 
  1380. script, clicking on the icon will cancel the script. You can also use the drag 
  1381. and drop feature of Pmcomm to select any executable file (extensions .exe, .cmd 
  1382. and .scr) from the File Manager and executing that file by dragging and 
  1383. dropping the file on the Book Icon. 
  1384.  
  1385. Com Port Statistics 
  1386.  
  1387. This line in the Status Line shows which com port you are using, the baud rate, 
  1388. data bits, parity, and stop bits that Pmcomm is currently using. Clicking on 
  1389. this line with a mouse will "pop" up the port setup dialog box. 
  1390.  
  1391. Elapsed Timer 
  1392.  
  1393. The Status Line also has an elapsed timer that starts as soon as you are 
  1394. connected to another computer. The timer displays the elapsed time in hours and 
  1395. minutes. You may also set two warning levels. The first will change the connect 
  1396. time to yellow and the second level will turn the connect time red. These 
  1397. warning levels are useful to keep track of how of the time you are connected to 
  1398. a remote computer. The elapsed timer will only be displayed if Monitor DCD is 
  1399. turned on. If Monitor DCD is turned off the time of day will be displayed. 
  1400. Clicking on this line will toggle between the time of day and the connect time. 
  1401. The of day will be displayed as default. 
  1402.  
  1403.  
  1404. ΓòÉΓòÉΓòÉ 8.8.1. Show Status Line ΓòÉΓòÉΓòÉ
  1405.  
  1406. The "Show status line" option will display Pmcomm's Status Line at the bottom 
  1407. of the Pmcomm window. For more information see Status_Line. 
  1408.  
  1409.  
  1410. ΓòÉΓòÉΓòÉ 8.8.2. Connect time for first warning ΓòÉΓòÉΓòÉ
  1411.  
  1412. After the amount of time specified in this option expires, Pmcomm will turn the 
  1413. connect time yellow. The time must be specified in the hh:mm format. 
  1414.  
  1415.  
  1416. ΓòÉΓòÉΓòÉ 8.8.3. Connect time for second warning ΓòÉΓòÉΓòÉ
  1417.  
  1418. After the amount of time specified in this option expires, Pmcomm will turn the 
  1419. connect time red. The time must be specified in the hh:mm format. 
  1420.  
  1421.  
  1422. ΓòÉΓòÉΓòÉ 8.9. Terminal ΓòÉΓòÉΓòÉ
  1423.  
  1424. Terminal allows you to select which emulation you wish to use. There are also 
  1425. some options for the different emulations. 
  1426.  
  1427.  
  1428. ΓòÉΓòÉΓòÉ 8.9.1. TTY emulation ΓòÉΓòÉΓòÉ
  1429.  
  1430. The TTY emulation makes Pmcomm act as a teletype device. Generally this is the 
  1431. least used emulation, however, it is also the fastest. The reason for this is 
  1432. that there are very few special commands that Pmcomm has to process. None of 
  1433. the special ANSI control codes are processed. 
  1434.  
  1435.  
  1436. ΓòÉΓòÉΓòÉ 8.9.2. ANSI emulation ΓòÉΓòÉΓòÉ
  1437.  
  1438. The ANSI emulation is probably the most used. It will execute the special ANSI 
  1439. screen control commands. This allows the remote program to be able to clear the 
  1440. screen, position the cursor and change the colors. There are other screen 
  1441. control commands but these are the most commonly used ones. There are also 
  1442. options to have Pmcomm ignore the ANSI color changes so that you can use the 
  1443. colors you want, instead of the ones the remote computer uses, and to send the 
  1444. ANSI cursor position commands with the arrow keys. When using the ANSI 
  1445. emulation you can also have Pmcomm strip off the ANSI commands before saving 
  1446. the information into a capture file. This will make the capture file much more 
  1447. readable. You can also change the length of the page, to correspond to the size 
  1448. of your screen. The default for the ANSI page length is 25 lines, and under 
  1449. most cases should be left there. 
  1450.  
  1451.  
  1452. ΓòÉΓòÉΓòÉ 8.9.3. VT100 emulation ΓòÉΓòÉΓòÉ
  1453.  
  1454. In VT100 emulation, some keys have been changed to try to more closely emulate 
  1455. the VT100 keyboard. F1-F4 are now the PF keys. Because of this the F1 key will 
  1456. not display the normal help and F3 will not exit the program. The PF keys will 
  1457. send the following characters: 
  1458.  
  1459.    F1 = ESCOP 
  1460.  
  1461.    F2 = ESCOQ 
  1462.  
  1463.    F3 = ESCOR 
  1464.  
  1465.    F4 = ESCOS 
  1466.  
  1467.  Where ESC is equal to the ASCII character hex 1B. All other hot keys will not 
  1468.  be available. When the num lock key is off, the numerical key pad will be in 
  1469.  the application mode. If you are connecting to a VT220 Host you can use these 
  1470.  keys to send the VT220 PF key values. For example pressing the 1 on the 
  1471.  numeric key pad will send the VT220 PF1 key. Pressing the 3 on the numeric key 
  1472.  pad will send the VT220 PF3 key, and so on. With the num lock on the numbers 
  1473.  will be sent. The plus key has been re-mapped to be a comma, again to be 
  1474.  compatible with the VT100 keyboard. In most cases it is best to tell the host 
  1475.  that you are a VT220 terminal. The VT100 emulation of Pmcomm supports most of 
  1476.  the VT220 commands, and will allow you to use the extra support that VT220 
  1477.  allows. If you tell the host that you are a VT220 terminal, for example, you 
  1478.  will be able to use the Ctrl-R for reset and the Ctrl-C for clear. These are 
  1479.  just a couple of examples of the additional benefit that you can get from 
  1480.  VT220. 
  1481.  
  1482.  The send DEL for backspace option is the default for many VT100 keyboards. 
  1483.  When this is selected, Pmcomm will send a hex 7f character instead of the 
  1484.  backspace character. You can still send a backspace character by pressing 
  1485.  Ctrl-Backspace. This allows you to have both these characters available at one 
  1486.  time. 
  1487.  
  1488.  The translate CR/LF for LF option will act as if it received a carriage return 
  1489.  and a line feed, each time it receives a line feed. 
  1490.  
  1491.  The line wrap option will make Pmcomm wrap the line if the line is longer than 
  1492.  the page width. If this option is off the line will be truncated. 
  1493.  
  1494.  The Insert mode option will allow you to insert characters into the middle of 
  1495.  a line and the rest of the line will be shifted to the right to allow room for 
  1496.  the new characters. 
  1497.  
  1498.  The cursor visible option determines if the cursor will be shown on the screen 
  1499.  or not. 
  1500.  
  1501.  The Screen origin relative option determines if Pmcomm will keep everything on 
  1502.  a 25 line screen or allow it to use the scroll back buffer. In most cases this 
  1503.  option should be selected. 
  1504.  
  1505.  The last two options are to set the width of the screen. Either 80 or 132 
  1506.  columns are supported. 
  1507.  
  1508.  Most of these options can be changed from the host. The default setup should 
  1509.  work for most applications, and the host can change the options to meet 
  1510.  different needs. 
  1511.  
  1512.  
  1513. ΓòÉΓòÉΓòÉ 8.10. Chat ΓòÉΓòÉΓòÉ
  1514.  
  1515. This sets up Pmcomm to "chat" when connected to another computer that is also 
  1516. running Pmcomm. This mode automatically sets Pmcomm to echo characters locally 
  1517. and to send a carriage return line feed combination when the enter key is 
  1518. pressed. 
  1519.  
  1520.  
  1521. ΓòÉΓòÉΓòÉ 9. Macros ΓòÉΓòÉΓòÉ
  1522.  
  1523. Allows you to pick, with a mouse, the macro you wish to send. Can also be 
  1524. selected with an Alt+corresponding number keystroke. Pmcomm allows you to set 
  1525. up ten different macros. Scripts can be executed from macros by using the shell 
  1526. command. An example of this would be: 
  1527.  
  1528. shell("c:\pmcomm\plane.cmd"); 
  1529.  
  1530. This would execute the REXX script called plane.cmd. This allows you a quick 
  1531. and easy way to execute your most popular scripts. 
  1532.  
  1533.  
  1534. ΓòÉΓòÉΓòÉ 10. Script Syntax ΓòÉΓòÉΓòÉ
  1535.  
  1536. Both, internal and REXX, syntaxes are described in this section. 
  1537.  
  1538.  
  1539. ΓòÉΓòÉΓòÉ 10.1. REXX Functions ΓòÉΓòÉΓòÉ
  1540.  
  1541. This describes the function calls that are available in the rxpmcomm.dll. 
  1542. Before using any of these calls you must include these lines in your REXX 
  1543. program: 
  1544.  
  1545.  Call RxFuncadd " init_dll ","RxPmcomm","init_dll" 
  1546.  
  1547.  Parse arg port portname screen_handle dde_output dde_input semaphore 
  1548.  
  1549.  Call init_dll 
  1550.  
  1551.  The rxpmcomm.dll must reside in a directory listed in your LIBPATH statement 
  1552.  in config.sys. One of the default directories is \os2\dll. These functions are 
  1553.  designed to make it easier to preform tasks necessary when writing scripts for 
  1554.  asynch communications. To invoke a REXX program from a script, use the shell( 
  1555.  ) function in the script. The format of the shell function is as follows: 
  1556.  
  1557.  shell("\path\filename.cmd"); 
  1558.  where filename.cmd is your REXX program. These functions have been tested with 
  1559.  the REXX that comes with OS/2 1.2 EE, but should work with any totally 
  1560.  function compatible REXX. There are some sample REXX programs included. 
  1561.  
  1562.  
  1563. ΓòÉΓòÉΓòÉ 10.1.1. init_dll ΓòÉΓòÉΓòÉ
  1564.  
  1565. The init_dll function will register the functions in the rxpmcomm.dll, with 
  1566. REXX. This function must be called before any other rxpmcomm.dll function is 
  1567. called. The RxFuncadd must be called before init_dll to register this function 
  1568. with REXX. 
  1569.  
  1570.  
  1571. ΓòÉΓòÉΓòÉ 10.1.2. os2_shell ΓòÉΓòÉΓòÉ
  1572.  
  1573.  os2_shell port,port 
  1574.  
  1575.  Example 
  1576.  
  1577.  Call os2_shell port,port 
  1578.  
  1579.  Description 
  1580.  
  1581.  This command will allow a caller to shell to OS/2, remotely. The first 
  1582.  parameter is the input handle and the second is the output handle. In the 
  1583.  example above, the command will receive and send the information to the com 
  1584.  port. 
  1585.  
  1586.  Returns 
  1587.  
  1588.  1 if successful and 0 if unsuccessful. 
  1589.  
  1590.  
  1591. ΓòÉΓòÉΓòÉ 10.1.3. set_download_path ΓòÉΓòÉΓòÉ
  1592.  
  1593.  set_download_path directory,dde_output 
  1594.  
  1595.  Example 
  1596.  
  1597.  Call set_download_path "c:\pmcomm",dde_output 
  1598.  
  1599.  Description 
  1600.  
  1601.  The above example will set the download path to c:\pmcomm. This will store all 
  1602.  of the files received in that directory. The dde_output, is the dde_output 
  1603.  value passed on the command line. 
  1604.  
  1605.  Returns 
  1606.  
  1607.  1 if successful and 0 if unsuccessful. 
  1608.  
  1609.  
  1610. ΓòÉΓòÉΓòÉ 10.1.4. setcom ΓòÉΓòÉΓòÉ
  1611.  
  1612.  setcom baud,parity,data_bit,stop_bits,port 
  1613.  
  1614.  Example 
  1615.  
  1616.  Call setcom "2400","N","8","1",port 
  1617.  
  1618.  Description 
  1619.  
  1620.  This would set the com port to 2400 baud, no parity, 8 data bits, 1 stop bit. 
  1621.  Baud can be from 300 to 19200 with the standard OS/2 device driver. Parity can 
  1622.  be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can be 5, 6, 7 
  1623.  or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). If a 
  1624.  parameter is an empty string (i.e. setcom "","E","7","1",port) this leaves the 
  1625.  baud at the current rate but set the line characteristics to 7, Even, 1. 
  1626.  
  1627.  Returns 
  1628.  
  1629.  1 if successful and 0 if unsuccessful. 
  1630.  
  1631.  
  1632. ΓòÉΓòÉΓòÉ 10.1.5. sendb ΓòÉΓòÉΓòÉ
  1633.  
  1634.  sendb length,port 
  1635.  
  1636.  Example 
  1637.  
  1638.  Call sendb "300",port 
  1639.  
  1640.  Description 
  1641.  
  1642.  This call sends a break signal a certain time in milliseconds. The above 
  1643.  example would send a break signal for 300 milliseconds. This call is mostly 
  1644.  used to establish direct connects (not using a modem). Three hundred 
  1645.  milliseconds should be okay for most situations. 
  1646.  
  1647.  Returns 
  1648.  
  1649.  1 if successful and 0 if unsuccessful. 
  1650.  
  1651.  
  1652. ΓòÉΓòÉΓòÉ 10.1.6. dcd ΓòÉΓòÉΓòÉ
  1653.  
  1654.  dcd port 
  1655.  
  1656.  Example 
  1657.  
  1658.  Call dcd port 
  1659.  
  1660.  Description 
  1661.  
  1662.  This call checks to see if there is a carrier detected on the modem. You can 
  1663.  use this to see if Pmcomm is still online to a remote computer. For this 
  1664.  information to be correct the modem must support dcd and the modem must be 
  1665.  configured to support dcd. To find the command refer to your owner's manual. 
  1666.  
  1667.  Returns 
  1668.  
  1669.  1 if carrier detected and 0 if no carrier. 
  1670.  
  1671.  
  1672. ΓòÉΓòÉΓòÉ 10.1.7. char_avail ΓòÉΓòÉΓòÉ
  1673.  
  1674.  char_avail port 
  1675.  
  1676.  Example 
  1677.  
  1678.  Call char_avail port 
  1679.  
  1680.  Description 
  1681.  
  1682.  This call checks to see how many characters are available in the device 
  1683.  driver's receive buffer. You can use this function to check to see if the 
  1684.  device driver has received any characters from the com port. 
  1685.  
  1686.  Returns 
  1687.  
  1688.  Number of characters in device driver receive queue. 
  1689.  
  1690.  
  1691. ΓòÉΓòÉΓòÉ 10.1.8. read_timeout ΓòÉΓòÉΓòÉ
  1692.  
  1693.  read_timeout timeout,port 
  1694.  
  1695.  Example 
  1696.  
  1697.  Call read_timeout 20000,port 
  1698.  
  1699.  Description 
  1700.  
  1701.  This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  1702.  Get_ch will wait for a character from the com port. The above example will 
  1703.  make the functions wait for 20 seconds. 
  1704.  
  1705.  Returns 
  1706.  
  1707.  1 if successful and 0 if unsuccessful. 
  1708.  
  1709.  
  1710. ΓòÉΓòÉΓòÉ 10.1.9. Get_ch ΓòÉΓòÉΓòÉ
  1711.  
  1712.  Get_ch port 
  1713.  
  1714.  Example 
  1715.  
  1716.  Call Get_ch port 
  1717.  
  1718.  Description 
  1719.  
  1720.  This call will get a character from the com port. If no character is available 
  1721.  by the time set with read_timeout the function will return with a value of -1. 
  1722.  Otherwise the function will return with the character read. 
  1723.  
  1724.  Returns 
  1725.  
  1726.  char value if successful and -1 if unsuccessful. 
  1727.  
  1728.  
  1729. ΓòÉΓòÉΓòÉ 10.1.10. ring_detect ΓòÉΓòÉΓòÉ
  1730.  
  1731.  ring_detect port 
  1732.  
  1733.  Example 
  1734.  
  1735.  Call ring_detect port 
  1736.  
  1737.  Description 
  1738.  
  1739.  This call can be used to inform a program if the phone is ringing. 
  1740.  
  1741.  Returns 
  1742.  
  1743.  1 if ring detected, 0 if no ring, and 2 if invalid number of parameters. 
  1744.  
  1745.  
  1746. ΓòÉΓòÉΓòÉ 10.1.11. drop_dtr ΓòÉΓòÉΓòÉ
  1747.  
  1748.  drop_dtr port 
  1749.  
  1750.  Example 
  1751.  
  1752.  Call drop_dtr port 
  1753.  
  1754.  Description 
  1755.  
  1756.  This call is usually used to make a modem hang up. The modem must be 
  1757.  configured to allow this. To find the command for your modem, check your 
  1758.  owner's manual. Dtr needs to be dropped for about 2-3 seconds to make sure the 
  1759.  modem sees the drop in DTR. After that length of time raise_dtr can be called 
  1760.  to bring DTR back up. On a Hayes 2400 the above command will also keep the 
  1761.  modem from doing an auto answer until you raise_dtr again. 
  1762.  
  1763.  Returns 
  1764.  
  1765.  1 if successful and 0 if unsuccessful. 
  1766.  
  1767.  
  1768. ΓòÉΓòÉΓòÉ 10.1.12. raise_dtr ΓòÉΓòÉΓòÉ
  1769.  
  1770.  raise_dtr port 
  1771.  
  1772.  Example 
  1773.  
  1774.  Call raise_dtr port 
  1775.  
  1776.  Description This call is usually used after drop_dtr to allow the modem to 
  1777.  process commands and enable it to answer the phone. 
  1778.  
  1779.  Returns 
  1780.  
  1781.  1 if successful and 0 if unsuccessful. 
  1782.  
  1783.  
  1784. ΓòÉΓòÉΓòÉ 10.1.13. Wait_for (REXX) ΓòÉΓòÉΓòÉ
  1785.  
  1786.  Wait_for string,string,string...,port 
  1787.  
  1788.  Example 
  1789.  
  1790.  Call Wait_for "first name?","last name?",port 
  1791.  
  1792.  Description 
  1793.  
  1794.  The above example would wait for either first name?, or last name?, from the 
  1795.  com port. The function will return the index of the  string that matched. For 
  1796.  example if the Wait_for received last name?, then the result would be 2. You 
  1797.  can specify any number of strings depending on memory available. 
  1798.  
  1799.  Returns 
  1800.  
  1801.  Index of matched string or zero if timeout or error. 
  1802.  
  1803.  
  1804. ΓòÉΓòÉΓòÉ 10.1.14. Wait_fore ΓòÉΓòÉΓòÉ
  1805.  
  1806.  Wait_fore string,string,string...,port,screen_handle 
  1807.  
  1808.  Example 
  1809.  
  1810.  Call Wait_fore "first name?","last name?",port,screen_handle 
  1811.  
  1812.  Call Wait_fore "first name?",port,1 
  1813.  
  1814.  Call Wait_fore "first name?","raw",port,1 
  1815.  
  1816.  Description 
  1817.  
  1818.  The first example would wait for either first name?, or last name?, from the 
  1819.  com port and echo the out_put to the Pmcomm screen. The second example would 
  1820.  do the same except it would write the out put to StdOut(value 1) which would 
  1821.  be the REXX screen. The third example would look for an exact match coming 
  1822.  accross the com port, including any ANSI sequences. 
  1823.  
  1824.  Returns 
  1825.  
  1826.  Index of matched string or zero if timeout or error. 
  1827.  
  1828.  
  1829. ΓòÉΓòÉΓòÉ 10.1.15. Put_s ΓòÉΓòÉΓòÉ
  1830.  
  1831.  Put_s string,port 
  1832.  
  1833.  Example 
  1834.  
  1835.  Call Put_s "first name",port 
  1836.  
  1837.  Description 
  1838.  
  1839.  This call will send string out to port. In the above example first name will 
  1840.  be sent to the com port. If port is not specified then 'string' will be sent 
  1841.  to the REXX screen. If screen_handle is specified instead of port then the 
  1842.  string will be sent to the Pmcomm screen. 
  1843.  
  1844.  Returns 
  1845.  
  1846.  Length of string actually written. 
  1847.  
  1848.  
  1849. ΓòÉΓòÉΓòÉ 10.1.16. Sleep (REXX) ΓòÉΓòÉΓòÉ
  1850.  
  1851.  Sleep time 
  1852.  
  1853.  Example 
  1854.  
  1855.  Call Sleep "1000" 
  1856.  
  1857.  Description 
  1858.  
  1859.  This call will delay the program for the amount of milliseconds specified. The 
  1860.  above example will delay the computer for one second. 
  1861.  
  1862.  Returns 
  1863.  
  1864.  Unconditionally 0. 
  1865.  
  1866.  
  1867. ΓòÉΓòÉΓòÉ 10.1.17. beep ΓòÉΓòÉΓòÉ
  1868.  
  1869.  beep frequency,duration 
  1870.  
  1871.  Example 
  1872.  
  1873.  Call beep 495,100 
  1874.  
  1875.  Description 
  1876.  
  1877.  The above example will beep the speaker. 
  1878.  
  1879.  Returns 
  1880.  
  1881.  1 if successful and 0 if unsuccessful. 
  1882.  
  1883.  
  1884. ΓòÉΓòÉΓòÉ 10.1.18. get_cursor_position ΓòÉΓòÉΓòÉ
  1885.  
  1886.  get_cursor_position axis,dde_output,dde_input 
  1887.  
  1888.  Example 
  1889.  
  1890.  Call get_cursor_position "column",dde_output,dde_input 
  1891.  
  1892.  Description 
  1893.  
  1894.  The above will return the column that the cursor is in. To get the current 
  1895.  row, you would issue this call with "row" instead of "column". The row value 
  1896.  that is returned is relative to the top of the scroll back buffer. The top row 
  1897.  of the scroll back buffer and the first column would be 0,0. 
  1898.  
  1899.  Returns 
  1900.  
  1901.  Cursor position. 
  1902.  
  1903.  
  1904. ΓòÉΓòÉΓòÉ 10.1.19. get_char_at ΓòÉΓòÉΓòÉ
  1905.  
  1906.  get_char_at row,column,number,dde_output,dde_input 
  1907.  
  1908.  Example 
  1909.  
  1910.  Call get_char_at 0,0,80,dde_output,dde_input 
  1911.  
  1912.  Description 
  1913.  
  1914.  The above will return the characters at the first line of the scroll back 
  1915.  buffer. It will return 80 characters, even if the characters are spaces. The 
  1916.  maximum number of characters that can be returned at one time is 200. 
  1917.  
  1918.  Returns 
  1919.  
  1920.  Character(s) at the specified row and column. 
  1921.  
  1922.  
  1923. ΓòÉΓòÉΓòÉ 10.1.20. REXX capture_on ΓòÉΓòÉΓòÉ
  1924.  
  1925.  capture_on filename,dde_output,dde_input 
  1926.  
  1927.  Example 
  1928.  
  1929.  Call capture_on "c:\pmcomm\cap.txt", dde_output, dde_input 
  1930.  
  1931.  Description 
  1932.  
  1933.  The above will turn capture on so that everything will be saved into a file. 
  1934.  If you have strip ANSI configured in Pmcomm then the text only will be saved 
  1935.  in ANSI, and VT100 terminal emulation. If the file already exists it will be 
  1936.  overwritten. 
  1937.  
  1938.  Returns 
  1939.  
  1940.  1 if successful and 0 if not. 
  1941.  
  1942.  
  1943. ΓòÉΓòÉΓòÉ 10.1.21. REXX capture_off ΓòÉΓòÉΓòÉ
  1944.  
  1945.  capture_off dde_output,dde_input 
  1946.  
  1947.  Example 
  1948.  
  1949.  Call capture_off dde_output,dde_input 
  1950.  
  1951.  Description 
  1952.  
  1953.  The above will turn capture off. The capture may have been started from a 
  1954.  script or from the menu. 
  1955.  
  1956.  Returns 
  1957.  
  1958.  1 if successful and 0 if not. 
  1959.  
  1960.  
  1961. ΓòÉΓòÉΓòÉ 10.1.22. xmodem_send ΓòÉΓòÉΓòÉ
  1962.  
  1963.  xmodem_send filename,dde_output,dde_input 
  1964.  
  1965.  Example 
  1966.  
  1967.  Call xmodem_send "filename.ext",dde_output,dde_input 
  1968.  
  1969.  Description 
  1970.  
  1971.  This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  1972.  issued the call will not return until the transfer either finishes or is 
  1973.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  1974.  uploading from the menu. 
  1975.  
  1976.  Returns 
  1977.  
  1978.  1 if call is successful and 0 if unsuccessful. 
  1979.  
  1980.  
  1981. ΓòÉΓòÉΓòÉ 10.1.23. xmodem_receive ΓòÉΓòÉΓòÉ
  1982.  
  1983.  xmodem_receive filename,dde_output,dde_input 
  1984.  
  1985.  Example 
  1986.  
  1987.  Call xmodem_receive "filename.ext",dde_output,dde_input 
  1988.  
  1989.  Description 
  1990.  
  1991.  This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  1992.  issued the call will not return until the transfer either finishes or is 
  1993.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  1994.  downloading from the menu. The file will be downloaded into the download 
  1995.  directory. The file name specified must not include a path. 
  1996.  
  1997.  Returns 
  1998.  
  1999.  1 if call is successful and 0 if unsuccessful. 
  2000.  
  2001.  
  2002. ΓòÉΓòÉΓòÉ 10.1.24. xmodem_chk_send ΓòÉΓòÉΓòÉ
  2003.  
  2004.  xmodem_chk_send filename,dde_output,dde_input 
  2005.  
  2006.  Example 
  2007.  
  2008.  Call xmodem_chk_send "filename.ext",dde_output,dde_input 
  2009.  
  2010.  Description 
  2011.  
  2012.  This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. 
  2013.  Once issued the call will not return until the transfer either finishes or is 
  2014.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2015.  uploading from the menu. 
  2016.  
  2017.  Returns 
  2018.  
  2019.  1 if call is successful and 0 if unsuccessful. 
  2020.  
  2021.  
  2022. ΓòÉΓòÉΓòÉ 10.1.25. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  2023.  
  2024.  xmodem_chk_receive filename,dde_output,dde_input 
  2025.  
  2026.  Example 
  2027.  
  2028.  Call xmodem_receive "filename.ext",dde_output,dde_input 
  2029.  
  2030.  Description 
  2031.  
  2032.  This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  2033.  Once issued the call will not return until the transfer either finishes or is 
  2034.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2035.  downloading from the menu. The file will be downloaded into the download 
  2036.  directory. The file name specified must not include a path. 
  2037.  
  2038.  Returns 
  2039.  
  2040.  1 if call is successful and 0 if unsuccessful. 
  2041.  
  2042.  
  2043. ΓòÉΓòÉΓòÉ 10.1.26. xmodem_1k_send ΓòÉΓòÉΓòÉ
  2044.  
  2045.  xmodem_1k_send filename,dde_output,dde_input 
  2046.  
  2047.  Example 
  2048.  
  2049.  Call xmodem_1k_send "filename.ext",dde_output,dde_input 
  2050.  
  2051.  Description 
  2052.  
  2053.  This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  2054.  issued the call will not return until the transfer either finishes or is 
  2055.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2056.  uploading from the menu. 
  2057.  
  2058.  Returns 
  2059.  
  2060.  1 if call is successful and 0 if unsuccessful. 
  2061.  
  2062.  
  2063. ΓòÉΓòÉΓòÉ 10.1.27. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  2064.  
  2065.  xmodem_1k_receive filename,dde_output,dde_input 
  2066.  
  2067.  Example 
  2068.  
  2069.  Call xmodem_1k_receive "filename.ext",dde_output,dde_input 
  2070.  
  2071.  Description 
  2072.  
  2073.  This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  2074.  issued the call will not return until the transfer either finishes or is 
  2075.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2076.  downloading from the menu. The file will be downloaded into the download 
  2077.  directory. The file name specified must not include a path. 
  2078.  
  2079.  Returns 
  2080.  
  2081.  1 if call is successful and 0 if unsuccessful. 
  2082.  
  2083.  
  2084. ΓòÉΓòÉΓòÉ 10.1.28. ymodem_send ΓòÉΓòÉΓòÉ
  2085.  
  2086.  ymodem_send filename,dde_output,dde_input 
  2087.  
  2088.  Example 
  2089.  
  2090.  Call ymodem_send "filename.ext",dde_output,dde_input 
  2091.  
  2092.  Description 
  2093.  
  2094.  This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  2095.  the call will not return until the transfer either finishes or is aborted. 
  2096.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2097.  the menu. You may send multiple files by specifying more than file name. 
  2098.  
  2099.  Returns 
  2100.  
  2101.  Number of files transferred. 
  2102.  
  2103.  
  2104. ΓòÉΓòÉΓòÉ 10.1.29. ymodem_receive ΓòÉΓòÉΓòÉ
  2105.  
  2106.  ymodem_receive dde_output,dde_input 
  2107.  
  2108.  Example 
  2109.  
  2110.  Call ymodem_receive dde_output,dde_input 
  2111.  
  2112.  Description 
  2113.  
  2114.  This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  2115.  issued the call will not return until the transfer either finishes or is 
  2116.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2117.  downloading from the menu. The file will be downloaded into the download 
  2118.  directory. This one call will receive multiple files. The filenames used are 
  2119.  the ones sent from the remote computer. 
  2120.  
  2121.  Returns 
  2122.  
  2123.  Number of files transferred. 
  2124.  
  2125.  
  2126. ΓòÉΓòÉΓòÉ 10.1.30. ymodemg_send ΓòÉΓòÉΓòÉ
  2127.  
  2128.  ymodemg_send filename,dde_output,dde_input 
  2129.  
  2130.  Example 
  2131.  
  2132.  Call ymodemg_send "filename.ext",dde_output,dde_input 
  2133.  
  2134.  Description 
  2135.  
  2136.  This call will invoke the Ymodem-g send routine, built into Pmcomm. Once 
  2137.  issued the call will not return until the transfer either finishes or is 
  2138.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2139.  uploading from the menu. You may send multiple files by specifying more than 
  2140.  file name. 
  2141.  
  2142.  Returns 
  2143.  
  2144.  Number of files transferred. 
  2145.  
  2146.  
  2147. ΓòÉΓòÉΓòÉ 10.1.31. ymodemg_receive ΓòÉΓòÉΓòÉ
  2148.  
  2149.  ymodemg_receive dde_output,dde_input 
  2150.  
  2151.  Example 
  2152.  
  2153.  Call ymodemg_receive dde_output,dde_input 
  2154.  
  2155.  Description 
  2156.  
  2157.  This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  2158.  issued the call will not return until the transfer either finishes or is 
  2159.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2160.  downloading from the menu. The file will be downloaded into the download 
  2161.  directory. This one call will receive multiple files. The filenames used are 
  2162.  the ones sent from the remote computer. 
  2163.  
  2164.  Returns 
  2165.  
  2166.  Number of files transferred. 
  2167.  
  2168.  
  2169. ΓòÉΓòÉΓòÉ 10.1.32. zmodem_send ΓòÉΓòÉΓòÉ
  2170.  
  2171.  zmodem_send filename,dde_output,dde_input 
  2172.  
  2173.  Example 
  2174.  
  2175.  Call zmodem_send "filename.ext",dde_output,dde_input 
  2176.  
  2177.  Description 
  2178.  
  2179.  This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  2180.  the call will not return until the transfer either finishes or is aborted. 
  2181.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2182.  the menu. You may send multiple files by specifying more than file name. 
  2183.  
  2184.  Returns 
  2185.  
  2186.  Number of files transferred. 
  2187.  
  2188.  
  2189. ΓòÉΓòÉΓòÉ 10.1.33. zmodem_receive ΓòÉΓòÉΓòÉ
  2190.  
  2191.  zmodem_receive dde_output,dde_input 
  2192.  
  2193.  Example 
  2194.  
  2195.  Call zmodem_receive dde_output,dde_input 
  2196.  
  2197.  Description 
  2198.  
  2199.  This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  2200.  issued the call will not return until the transfer either finishes or is 
  2201.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2202.  downloading from the menu. The file will be downloaded into the download 
  2203.  directory. This one call will receive multiple files. The filenames used are 
  2204.  the ones sent from the remote computer. 
  2205.  
  2206.  Returns 
  2207.  
  2208.  Number of files transferred. 
  2209.  
  2210.  
  2211. ΓòÉΓòÉΓòÉ 10.1.34. kermit_send ΓòÉΓòÉΓòÉ
  2212.  
  2213.  kermit_send filename,dde_output,dde_input 
  2214.  
  2215.  Example 
  2216.  
  2217.  Call kermit_send "filename.ext",dde_output,dde_input 
  2218.  
  2219.  Description 
  2220.  
  2221.  This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  2222.  the call will not return until the transfer either finishes or is aborted. 
  2223.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2224.  the menu. You may send multiple files by specifying more than file name. 
  2225.  
  2226.  Returns 
  2227.  
  2228.  Number of files transferred. 
  2229.  
  2230.  
  2231. ΓòÉΓòÉΓòÉ 10.1.35. kermit_receive ΓòÉΓòÉΓòÉ
  2232.  
  2233.  kermit_receive dde_output,dde_input 
  2234.  
  2235.  Example 
  2236.  
  2237.  Call kermit_receive dde_output,dde_input 
  2238.  
  2239.  Description 
  2240.  
  2241.  This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  2242.  issued the call will not return until the transfer either finishes or is 
  2243.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2244.  downloading from the menu. The file will be downloaded into the download 
  2245.  directory. This one call will receive multiple files. The filenames used are 
  2246.  the ones sent from the remote computer. 
  2247.  
  2248.  Returns 
  2249.  
  2250.  Number of files transferred. 
  2251.  
  2252.  
  2253. ΓòÉΓòÉΓòÉ 10.1.36. ascii_send ΓòÉΓòÉΓòÉ
  2254.  
  2255.  ascii_send filename,dde_output,dde_input 
  2256.  
  2257.  Example 
  2258.  
  2259.  Call ascii_send "filename.ext",dde_output,dde_input 
  2260.  
  2261.  Description 
  2262.  
  2263.  This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  2264.  the call will not return until the transfer either finishes or is aborted. 
  2265.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2266.  the menu. 
  2267.  
  2268.  Returns 
  2269.  
  2270.  1 if call is successful and 0 if unsuccessful. 
  2271.  
  2272.  
  2273. ΓòÉΓòÉΓòÉ 10.1.37. ascii_receive ΓòÉΓòÉΓòÉ
  2274.  
  2275.  ascii_receive filename,dde_output,dde_input 
  2276.  
  2277.  Example 
  2278.  
  2279.  Call ascii_receive "filename.ext",dde_output,dde_input 
  2280.  
  2281.  Description 
  2282.  
  2283.  This call will invoke the ASCII receive routine, built into Pmcomm. Once 
  2284.  issued the call will not return until the transfer either finishes or is 
  2285.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2286.  downloading from the menu. The file will be downloaded into the download 
  2287.  directory. The file name specified must not include a path. 
  2288.  
  2289.  Returns 
  2290.  
  2291.  1 if call is successful and 0 if unsuccessful. 
  2292.  
  2293.  
  2294. ΓòÉΓòÉΓòÉ 10.1.38. cisb_send ΓòÉΓòÉΓòÉ
  2295.  
  2296.  cisb_send filename,dde_output,dde_input 
  2297.  
  2298.  Example 
  2299.  
  2300.  Call cisb_send "filename.ext",dde_output,dde_input 
  2301.  
  2302.  Description 
  2303.  
  2304.  This call will invoke the CISB send routine, built into Pmcomm. Once issued 
  2305.  the call will not return until the transfer either finishes or is aborted. 
  2306.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2307.  the menu. 
  2308.  
  2309.  Returns 
  2310.  
  2311.  1 if call is successful and 0 if unsuccessful. 
  2312.  
  2313.  
  2314. ΓòÉΓòÉΓòÉ 10.1.39. cisb_receive ΓòÉΓòÉΓòÉ
  2315.  
  2316.  cisb_receive filename,dde_output,dde_input 
  2317.  
  2318.  Example 
  2319.  
  2320.  Call cisb_receive "filename.ext",dde_output,dde_input 
  2321.  
  2322.  Description 
  2323.  
  2324.  This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  2325.  the call will not return until the transfer either finishes or is aborted. 
  2326.  Pmcomm will show the normal transfer dialog that it does when downloading from 
  2327.  the menu. The file will be downloaded into the download directory. The file 
  2328.  name specified must not include a path. 
  2329.  
  2330.  Returns 
  2331.  
  2332.  1 if call is successful and 0 if unsuccessful. 
  2333.  
  2334.  
  2335. ΓòÉΓòÉΓòÉ 10.2. Internal Functions ΓòÉΓòÉΓòÉ
  2336.  
  2337. These are script functions that are built into Pmcomm. 
  2338.  
  2339.  
  2340. ΓòÉΓòÉΓòÉ 10.2.1. wait_for (internal) ΓòÉΓòÉΓòÉ
  2341.  
  2342.  wait_for("string"); 
  2343.  
  2344.  This will wait until the word 'string' is received. One use of this is when 
  2345.  logging onto a BBS you can have it wait until prompted for a first name. 
  2346.  
  2347.  
  2348. ΓòÉΓòÉΓòÉ 10.2.2. puts ΓòÉΓòÉΓòÉ
  2349.  
  2350.  puts("string"); 
  2351.  
  2352.  This will send string to the comport. The 'C' language special character 
  2353.  '\r','\n','\b',and '\a' can also be used. 
  2354.  
  2355.  The \r means carriage return. 
  2356.  
  2357.  The \n means carriage return and line feed combination. 
  2358.  
  2359.  The \b means backspace. 
  2360.  
  2361.  The \a means alert (Pmcomm will beep). 
  2362.  
  2363.  
  2364. ΓòÉΓòÉΓòÉ 10.2.3. sleep (internal) ΓòÉΓòÉΓòÉ
  2365.  
  2366.  sleep(1000); 
  2367.  
  2368.  This will wait for the number of milliseconds specified. In this example it 
  2369.  would sleep for one second. 
  2370.  
  2371.  
  2372. ΓòÉΓòÉΓòÉ 10.2.4. call ΓòÉΓòÉΓòÉ
  2373.  
  2374.  call("filename"); 
  2375.  
  2376.  This allows you to nest scripts. If you put the name of the script that you 
  2377.  want to execute where it says filename, it will execute that script and then 
  2378.  continue. The limit on number of nested scripts is only by available stack 
  2379.  space. 
  2380.  
  2381.  
  2382. ΓòÉΓòÉΓòÉ 10.2.5. capture_on ΓòÉΓòÉΓòÉ
  2383.  
  2384.  capture_on("filename"); 
  2385.  
  2386.  Captures all screen output to a file. Replace filename with the name of the 
  2387.  file you want the output written to. The capture file will be automatically 
  2388.  closed when you log off, if you have Monitor_DCD selected. 
  2389.  
  2390.  
  2391. ΓòÉΓòÉΓòÉ 10.2.6. capture_off ΓòÉΓòÉΓòÉ
  2392.  
  2393.  capture_off(); 
  2394.  
  2395.  Stops screen capture and closes the capture file. You can also close the 
  2396.  capture file from the menu. 
  2397.  
  2398.  
  2399. ΓòÉΓòÉΓòÉ 10.2.7. shell ΓòÉΓòÉΓòÉ
  2400.  
  2401.  shell("\path\filename.ext"); 
  2402.  
  2403.  Allows you to call an external program to run from a script. 
  2404.  
  2405.  
  2406. ΓòÉΓòÉΓòÉ 10.3. 'C' Functions ΓòÉΓòÉΓòÉ
  2407.  
  2408. These are the functions that are included in the cpmcomms and cpmcomml 
  2409. libraries. The cpmcomms.lib is a small model library and the cpmcomml.lib is a 
  2410. large model library. The cpmcomm.h file has function definitions and should be 
  2411. included in any program that uses the cpmcomm libraries. The function init_lib 
  2412. must be called before any other of the library routines are used. 
  2413.  
  2414.  
  2415. ΓòÉΓòÉΓòÉ 10.3.1. wait_for ΓòÉΓòÉΓòÉ
  2416.  
  2417.  USHORT wait_for(USHORT argc,CHAR **argv,HFILE port); 
  2418.  
  2419.  Example 
  2420.  
  2421.  USHORT result; 
  2422.  
  2423.  CHAR *argv[2]; 
  2424.  
  2425.  CHAR string1[80]; 
  2426.  
  2427.  CHAR string2[80]; 
  2428.  
  2429.  strcpy(string1,"first name?"); 
  2430.  
  2431.  strcpy(string2,"last name?"); 
  2432.  
  2433.  argv[0] = string1; 
  2434.  
  2435.  argv[1] = string2; 
  2436.  
  2437.  result = wait_for(2,argv,port); 
  2438.  
  2439.  Description 
  2440.  
  2441.  The above example would wait for either first name?, or last name?, from the 
  2442.  com port. The function will return the index of the  string that matched. For 
  2443.  example if the wait_for received last name?, then the result would be 2. You 
  2444.  can specify any number of strings depending on memory available. 
  2445.  
  2446.  Returns 
  2447.  
  2448.  Index of matched string or zero if timeout or error. 
  2449.  
  2450.  
  2451. ΓòÉΓòÉΓòÉ 10.3.2. wait_fore ΓòÉΓòÉΓòÉ
  2452.  
  2453.  USHORT wait_fore(USHORT argc,CHAR **argv,HFILE port, HFILE screen_handle); 
  2454.  
  2455.  Example 
  2456.  
  2457.  USHORT result; 
  2458.  
  2459.  CHAR *argv[2]; 
  2460.  
  2461.  CHAR string1[80]; 
  2462.  
  2463.  CHAR string2[80]; 
  2464.  
  2465.  strcpy(string1,"first name?"); 
  2466.  
  2467.  strcpy(string2,"last name?"); 
  2468.  
  2469.  argv[0] = string1; 
  2470.  
  2471.  argv[1] = string2; 
  2472.  
  2473.  result = wait_for(2,argv,port,screen_handle); 
  2474.  
  2475.  Description 
  2476.  
  2477.  The first example would wait for either first name?, or last name?, from the 
  2478.  com port and echo the out_put to the Pmcomm screen. 
  2479.  
  2480.  Returns 
  2481.  
  2482.  Index of matched string or zero if timeout or error. 
  2483.  
  2484.  
  2485. ΓòÉΓòÉΓòÉ 10.3.3. put_s ΓòÉΓòÉΓòÉ
  2486.  
  2487.  USHORT put_s(char *string,HFILE port); 
  2488.  
  2489.  Example 
  2490.  
  2491.  put_s("first name",port); 
  2492.  
  2493.  Description 
  2494.  
  2495.  This call will send string out to port. In the above example first name will 
  2496.  be sent to the com port. If screen_handle is specified instead of port then 
  2497.  the string will be sent to the Pmcomm screen. 
  2498.  
  2499.  Returns 
  2500.  
  2501.  Length of string actually written. 
  2502.  
  2503.  
  2504. ΓòÉΓòÉΓòÉ 10.3.4. sleep ΓòÉΓòÉΓòÉ
  2505.  
  2506.  VOID sleep(ULONG time); 
  2507.  
  2508.  Example 
  2509.  
  2510.  sleep(1000L); 
  2511.  
  2512.  Description 
  2513.  
  2514.  This call will delay the program for the amount of milliseconds specified. The 
  2515.  above example will delay the computer for one second. 
  2516.  
  2517.  Returns 
  2518.  
  2519.  None. 
  2520.  
  2521.  
  2522. ΓòÉΓòÉΓòÉ 10.3.5. beep ΓòÉΓòÉΓòÉ
  2523.  
  2524.  VOID beep(USHORT frequency,USHORT duration); 
  2525.  
  2526.  Example 
  2527.  
  2528.  beep(495,100); 
  2529.  
  2530.  Description 
  2531.  
  2532.  The above example will beep the speaker. 
  2533.  
  2534.  Returns 
  2535.  
  2536.  None. 
  2537.  
  2538.  
  2539. ΓòÉΓòÉΓòÉ 10.3.6. os2_shell ΓòÉΓòÉΓòÉ
  2540.  
  2541.  VOID os2_shell(HFILE port,HFILE port); 
  2542.  
  2543.  Example 
  2544.  
  2545.  os2_shell(port,port); 
  2546.  
  2547.  Description 
  2548.  
  2549.  This command will allow a caller to shell to OS/2, remotely. The first 
  2550.  parameter is input handle and the second is the output handle. In the example 
  2551.  above, the command will receive and send the information to the com port. 
  2552.  
  2553.  Returns 
  2554.  
  2555.  None. 
  2556.  
  2557.  
  2558. ΓòÉΓòÉΓòÉ 10.3.7. init_lib ΓòÉΓòÉΓòÉ
  2559.  
  2560.  USHORT init_lib(int argc,char **argv); 
  2561.  
  2562.  Example 
  2563.  
  2564.  main(argc,argv) 
  2565.  
  2566.  { 
  2567.  
  2568.  init_lib(argc,argv); 
  2569.  
  2570.  ... 
  2571.  
  2572.  } 
  2573.  
  2574.  The init_lib function will initialize some global variables that are passed on 
  2575.  the command line. These variables are: 
  2576.  
  2577.  USHORT port; 
  2578.  
  2579.  CHAR portname[15]; 
  2580.  
  2581.  HFILE dde_output,dde_input; 
  2582.  
  2583.  HFILE screen_handle; 
  2584.  
  2585.  This function must be called before any other library function is called. 
  2586.  
  2587.  Returns 
  2588.  
  2589.  1 if sucessful and 0 if not. 
  2590.  
  2591.  
  2592. ΓòÉΓòÉΓòÉ 10.3.8. 'C' set_download_path ΓòÉΓòÉΓòÉ
  2593.  
  2594.  VOID set_download_path(char *path); 
  2595.  
  2596.  Example 
  2597.  
  2598.  set_download_path("c:\pmcomm"); 
  2599.  
  2600.  Description 
  2601.  
  2602.  The above example will set the download path to c:\pmcomm. This will store all 
  2603.  of the files received in that directory. 
  2604.  
  2605.  Returns 
  2606.  
  2607.  None. 
  2608.  
  2609.  
  2610. ΓòÉΓòÉΓòÉ 10.3.9. setcom ΓòÉΓòÉΓòÉ
  2611.  
  2612.  SHORT setcom(char *baud,UCHAR parity,UCHAR data_bit,UCHAR stop_bits,HFILE 
  2613.  port); 
  2614.  
  2615.  Example 
  2616.  
  2617.  setcom("2400",'N',8,1,port); 
  2618.  
  2619.  Description 
  2620.  
  2621.  This would set the com port to 2400 baud, no parity, 8 data bits, 1 stop bit. 
  2622.  Baud can be from 300 to 19200 with the standard OS/2 device driver. Parity can 
  2623.  be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can be 5, 6, 7 
  2624.  or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). If the 
  2625.  baud parameter is an empty string i.e. setcom("",'E',7,1,port) this leave the 
  2626.  baud at the current rate but set the line characteristics to 7, Even, 1. 
  2627.  
  2628.  Returns 
  2629.  
  2630.  1 if successful and 0 if unsuccessful. 
  2631.  
  2632.  
  2633. ΓòÉΓòÉΓòÉ 10.3.10. sendb ΓòÉΓòÉΓòÉ
  2634.  
  2635.  VOID sendb(LONG length,HFILE port); 
  2636.  
  2637.  Example 
  2638.  
  2639.  sendb(300L,port); 
  2640.  
  2641.  Description 
  2642.  
  2643.  This call sends a break signal a certain time in milliseconds. The above 
  2644.  example would send a break signal for 300 milliseconds. This call is mostly 
  2645.  used to establish direct connects (not using a modem). Three hundred 
  2646.  milliseconds should be okay for most situations. 
  2647.  
  2648.  Returns 
  2649.  
  2650.  None. 
  2651.  
  2652.  
  2653. ΓòÉΓòÉΓòÉ 10.3.11. dcd ΓòÉΓòÉΓòÉ
  2654.  
  2655.  USHORT dcd(HFILE port); 
  2656.  
  2657.  Example 
  2658.  
  2659.  dcd(port); 
  2660.  
  2661.  Description 
  2662.  
  2663.  This call checks to see if there is a carrier detected on the modem. You can 
  2664.  use this to see if Pmcomm is still online to a remote computer. For this 
  2665.  information to be correct the modem must support dcd and the modem must be 
  2666.  configured to support dcd. To find the command refer to your owner's manual. 
  2667.  
  2668.  Returns 
  2669.  
  2670.  1 if carrier detected and 0 if no carrier. 
  2671.  
  2672.  
  2673. ΓòÉΓòÉΓòÉ 10.3.12. char_avail ΓòÉΓòÉΓòÉ
  2674.  
  2675.  USHORT char_avail(HFILE port); 
  2676.  
  2677.  Example 
  2678.  
  2679.  char_avail(port); 
  2680.  
  2681.  Description 
  2682.  
  2683.  This call checks to see how many characters are available in the device 
  2684.  drivers receive buffer. You can use this function to check to see if the 
  2685.  device driver has received any characters from the com port. 
  2686.  
  2687.  Returns 
  2688.  
  2689.  Number of characters in device driver receive queue. 
  2690.  
  2691.  
  2692. ΓòÉΓòÉΓòÉ 10.3.13. read_timeout ΓòÉΓòÉΓòÉ
  2693.  
  2694.  read_timeout(USHORT timeout,HFILE port); 
  2695.  
  2696.  Example 
  2697.  
  2698.  read_timeout(20000,port); 
  2699.  
  2700.  Description 
  2701.  
  2702.  This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  2703.  get_ch will wait for a character from the com port. The above example will 
  2704.  make the functions wait for 20 seconds. 
  2705.  
  2706.  Returns 
  2707.  
  2708.  1 if successful and 0 if unsuccessful. 
  2709.  
  2710.  
  2711. ΓòÉΓòÉΓòÉ 10.3.14. get_ch ΓòÉΓòÉΓòÉ
  2712.  
  2713.  CHAR get_ch(HFILE port); 
  2714.  
  2715.  Example 
  2716.  
  2717.  ch = get_ch(port); 
  2718.  
  2719.  Description 
  2720.  
  2721.  This call will get a character from the com port. If no character is available 
  2722.  by the time set with read_timeout the function will return with a value of -1. 
  2723.  Otherwise the function will return with the character read. 
  2724.  
  2725.  Returns 
  2726.  
  2727.  char value if successful and -1 if unsuccessful. 
  2728.  
  2729.  
  2730. ΓòÉΓòÉΓòÉ 10.3.15. ring_detect ΓòÉΓòÉΓòÉ
  2731.  
  2732.  USHORT ring_detect(HFILE port); 
  2733.  
  2734.  Example 
  2735.  
  2736.  ring_detect(port); 
  2737.  
  2738.  Description 
  2739.  
  2740.  This call can be used to inform a program if the phone is ringing. 
  2741.  
  2742.  Returns 
  2743.  
  2744.  1 if ring detected, 0 if no ring. 
  2745.  
  2746.  
  2747. ΓòÉΓòÉΓòÉ 10.3.16. drop_dtr ΓòÉΓòÉΓòÉ
  2748.  
  2749.  VOID drop_dtr(HFILE port); 
  2750.  
  2751.  Example 
  2752.  
  2753.  drop_dtr(port); 
  2754.  
  2755.  Description 
  2756.  
  2757.  This call is usually used to make a modem hang up. The modem must be 
  2758.  configured to allow this. To find the command for your modem, check your 
  2759.  owner's manual. Dtr needs to be dropped for about 2-3 seconds to make sure the 
  2760.  modem sees the drop in DTR. After that length of time raise_dtr can be called 
  2761.  to bring DTR back up. On a Hayes 2400 the above command will also keep the 
  2762.  modem from doing an auto answer until you raise_dtr again. 
  2763.  
  2764.  Returns 
  2765.  
  2766.  None. 
  2767.  
  2768.  
  2769. ΓòÉΓòÉΓòÉ 10.3.17. raise_dtr ΓòÉΓòÉΓòÉ
  2770.  
  2771.  VOID raise_dtr(HFILE port); 
  2772.  
  2773.  Example 
  2774.  
  2775.  raise_dtr(port); 
  2776.  
  2777.  Description This call is usually used after drop_dtr to allow the modem to 
  2778.  process commands and enable it to answer the phone. 
  2779.  
  2780.  Returns 
  2781.  
  2782.  None. 
  2783.  
  2784.  
  2785. ΓòÉΓòÉΓòÉ 10.3.18. get_cursor_position ΓòÉΓòÉΓòÉ
  2786.  
  2787.  USHORT get_cursor_position(char *str); 
  2788.  
  2789.  Example 
  2790.  
  2791.  get_cursor_position("column"); 
  2792.  
  2793.  Description 
  2794.  
  2795.  The above will return the column that the cursor is in. To get the current 
  2796.  row, you would issue this call with "row" instead of "column". The row value 
  2797.  that is returned is relative to the top of the scroll back buffer. The top row 
  2798.  of the scroll back buffer and the first column would be 0,0. 
  2799.  
  2800.  Returns 
  2801.  
  2802.  Cursor position. 
  2803.  
  2804.  
  2805. ΓòÉΓòÉΓòÉ 10.3.19. get_char_at ΓòÉΓòÉΓòÉ
  2806.  
  2807.  VOID get_char_at(USHORT row,USHORT col,USHORT num,char *returnstr); 
  2808.  
  2809.  Example 
  2810.  
  2811.  get_char_at(0,0,80,str); 
  2812.  
  2813.  Description 
  2814.  
  2815.  The above will return the characters at the first line (stored in str) of the 
  2816.  scroll back buffer. It will return 80 characters, even if the characters are 
  2817.  spaces. The maximum number of characters that can be returned at one time is 
  2818.  200. 
  2819.  
  2820.  Returns 
  2821.  
  2822.  None. 
  2823.  
  2824.  
  2825. ΓòÉΓòÉΓòÉ 10.3.20. 'C'capture_on ΓòÉΓòÉΓòÉ
  2826.  
  2827.  USHORT capture_on(filename); 
  2828.  
  2829.  Example 
  2830.  
  2831.  capture_on("c:\pmcomm\cap.txt"); 
  2832.  
  2833.  Description 
  2834.  
  2835.  The above will turn capture on so that everything will be saved into a file. 
  2836.  If you have strip ANSI configured in Pmcomm then the text only will be saved 
  2837.  in ANSI, and VT100 terminal emulation. 
  2838.  
  2839.  Returns 
  2840.  
  2841.  1 if successful and 0 if not. 
  2842.  
  2843.  
  2844. ΓòÉΓòÉΓòÉ 10.3.21. 'C' capture_off ΓòÉΓòÉΓòÉ
  2845.  
  2846.  VOID capture_off(VOID); 
  2847.  
  2848.  Example 
  2849.  
  2850.  capture_off(); 
  2851.  
  2852.  Description 
  2853.  
  2854.  The above will turn capture off. The capture may have been started from a 
  2855.  script or from the menu. 
  2856.  
  2857.  Returns 
  2858.  
  2859.  1 if successful and 0 if not. 
  2860.  
  2861.  
  2862. ΓòÉΓòÉΓòÉ 10.3.22. xmodem_send ΓòÉΓòÉΓòÉ
  2863.  
  2864.  USHORT xmodem_send(char *filename); 
  2865.  
  2866.  Example 
  2867.  
  2868.  xmodem_send("d:\path\filename.ext"); 
  2869.  
  2870.  Description 
  2871.  
  2872.  This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  2873.  issued the call will not return until the transfer either finishes or is 
  2874.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2875.  is selected from the menu. 
  2876.  
  2877.  Returns 
  2878.  
  2879.  1 if the transfer is successful and 0 if unsuccessful. 
  2880.  
  2881.  
  2882. ΓòÉΓòÉΓòÉ 10.3.23. xmodem_receive ΓòÉΓòÉΓòÉ
  2883.  
  2884.  USHORT xmodem_receive(char *filename); 
  2885.  
  2886.  Example 
  2887.  
  2888.  xmodem_receive("d:\path\filename.ext"); 
  2889.  
  2890.  Description 
  2891.  
  2892.  This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  2893.  issued the call will not return until the transfer either finishes or is 
  2894.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  2895.  from the menu. The file name specified must include a path. 
  2896.  
  2897.  Returns 
  2898.  
  2899.  1 if transfer is successful and 0 if unsuccessful. 
  2900.  
  2901.  
  2902. ΓòÉΓòÉΓòÉ 10.3.24. xmodem_chk_send ΓòÉΓòÉΓòÉ
  2903.  
  2904.  USHORT xmodem_chk_send(char *filename); 
  2905.  
  2906.  Example 
  2907.  
  2908.  xmodem_chk_send("d:\path\filename.ext"); 
  2909.  
  2910.  Description 
  2911.  
  2912.  This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. 
  2913.  Once issued the call will not return until the transfer either finishes or is 
  2914.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2915.  is selected from the menu. 
  2916.  
  2917.  Returns 
  2918.  
  2919.  1 if transfer is successful and 0 if unsuccessful. 
  2920.  
  2921.  
  2922. ΓòÉΓòÉΓòÉ 10.3.25. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  2923.  
  2924.  USHORT xmodem_chk_receive(char *filename); 
  2925.  
  2926.  Example 
  2927.  
  2928.  xmodem_chk_receive("d:\path\filename.ext"); 
  2929.  
  2930.  Description 
  2931.  
  2932.  This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  2933.  Once issued the call will not return until the transfer either finishes or is 
  2934.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  2935.  from the menu. The file name specified must include a path. 
  2936.  
  2937.  Returns 
  2938.  
  2939.  1 if transfer is successful and 0 if unsuccessful. 
  2940.  
  2941.  
  2942. ΓòÉΓòÉΓòÉ 10.3.26. xmodem_1k_send ΓòÉΓòÉΓòÉ
  2943.  
  2944.  USHORT xmodem_1k_send(char *filename); 
  2945.  
  2946.  Example 
  2947.  
  2948.  xmodem_1k_send("d:\path\filename.ext"); 
  2949.  
  2950.  Description 
  2951.  
  2952.  This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  2953.  issued the call will not return until the transfer either finishes or is 
  2954.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2955.  is selected from the menu. 
  2956.  
  2957.  Returns 
  2958.  
  2959.  1 if transfer is successful and 0 if unsuccessful. 
  2960.  
  2961.  
  2962. ΓòÉΓòÉΓòÉ 10.3.27. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  2963.  
  2964.  USHORT xmodem_1k_receive(char *filename); 
  2965.  
  2966.  Example 
  2967.  
  2968.  xmodem_1k_receive("d:\path\filename.ext"); 
  2969.  
  2970.  Description 
  2971.  
  2972.  This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  2973.  issued the call will not return until the transfer either finishes or is 
  2974.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  2975.  from the menu. The file name specified must include a path. 
  2976.  
  2977.  Returns 
  2978.  
  2979.  1 if transfer is successful and 0 if unsuccessful. 
  2980.  
  2981.  
  2982. ΓòÉΓòÉΓòÉ 10.3.28. ymodem_send ΓòÉΓòÉΓòÉ
  2983.  
  2984.  USHORT ymodem_send(USHORT num_files,CHAR **filearray); 
  2985.  
  2986.  Example 
  2987.  
  2988.  USHORT result; 
  2989.  
  2990.  CHAR *filearray[2]; 
  2991.  
  2992.  CHAR string1[80]; 
  2993.  
  2994.  CHAR string2[80]; 
  2995.  
  2996.  strcpy(string1,"pmcom106.zip"); 
  2997.  
  2998.  strcpy(string2,"pmcom107.zip"); 
  2999.  
  3000.  filearray[0] = string1; 
  3001.  
  3002.  filearray[1] = string2; 
  3003.  
  3004.  result = ymodem_send(2,filearray); 
  3005.  
  3006.  Description 
  3007.  
  3008.  This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  3009.  the call will not return until the transfer either finishes or is aborted. 
  3010.  Pmcomm will show the normal transfer box that it does when download is 
  3011.  selected from the menu. As many as 8 files can be sent at one time. 
  3012.  
  3013.  Returns 
  3014.  
  3015.  Number of files successfully transferred. 
  3016.  
  3017.  
  3018. ΓòÉΓòÉΓòÉ 10.3.29. ymodem_receive ΓòÉΓòÉΓòÉ
  3019.  
  3020.  USHORT ymodem_receive(VOID); 
  3021.  
  3022.  Example 
  3023.  
  3024.  ymodem_receive(); 
  3025.  
  3026.  Description 
  3027.  
  3028.  This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  3029.  issued the call will not return until the transfer either finishes or is 
  3030.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3031.  from the menu. Only a single file at a time will be accepted. 
  3032.  
  3033.  Returns 
  3034.  
  3035.  1 if call is successful and 0 if unsuccessful. 
  3036.  
  3037.  
  3038. ΓòÉΓòÉΓòÉ 10.3.30. ymodemg_send ΓòÉΓòÉΓòÉ
  3039.  
  3040.  USHORT ymodemg_send(USHORT num_files, CHAR **filearray); 
  3041.  
  3042.  Example 
  3043.  
  3044.  USHORT result; 
  3045.  
  3046.  CHAR *filearray[2]; 
  3047.  
  3048.  CHAR string1[80]; 
  3049.  
  3050.  CHAR string2[80]; 
  3051.  
  3052.  strcpy(string1,"pmcom106.zip"); 
  3053.  
  3054.  strcpy(string2,"pmcom107.zip"); 
  3055.  
  3056.  filearray[0] = string1; 
  3057.  
  3058.  filearray[1] = string2; 
  3059.  
  3060.  result = ymodemg_send(2,filearray); 
  3061.  
  3062.  Description 
  3063.  
  3064.  This call will invoke the Ymodem-g send routine, built into Pmcomm. Once 
  3065.  issued the call will not return until the transfer either finishes or is 
  3066.  aborted. Pmcomm will show the normal transfer box that it does when 
  3067.  downloading from the menu. As many as 8 files can be sent at one time. 
  3068.  
  3069.  Returns 
  3070.  
  3071.  Number of files successfully transferred. 
  3072.  
  3073.  
  3074. ΓòÉΓòÉΓòÉ 10.3.31. ymodemg_receive ΓòÉΓòÉΓòÉ
  3075.  
  3076.  USHORT ymodemg_receive(VOID); 
  3077.  
  3078.  Example 
  3079.  
  3080.  ymodemg_receive(); 
  3081.  
  3082.  Description 
  3083.  
  3084.  This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  3085.  issued the call will not return until the transfer either finishes or is 
  3086.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3087.  from the menu. Only one file at a time can be received. 
  3088.  
  3089.  Returns 
  3090.  
  3091.  1 if call is successful and 0 if unsuccessful. 
  3092.  
  3093.  
  3094. ΓòÉΓòÉΓòÉ 10.3.32. zmodem_send ΓòÉΓòÉΓòÉ
  3095.  
  3096.  USHORT zmodem_send(USHORT num_files, CHAR **filearray); 
  3097.  
  3098.  Example 
  3099.  
  3100.  USHORT result; 
  3101.  
  3102.  CHAR *filearray[2]; 
  3103.  
  3104.  CHAR string1[80]; 
  3105.  
  3106.  CHAR string2[80]; 
  3107.  
  3108.  strcpy(string1,"pmcom106.zip"); 
  3109.  
  3110.  strcpy(string2,"pmcom107.zip"); 
  3111.  
  3112.  filearray[0] = string1; 
  3113.  
  3114.  filearray[1] = string2; 
  3115.  
  3116.  result = zmodem_send(2,filearray); 
  3117.  
  3118.  Description 
  3119.  
  3120.  This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  3121.  the call will not return until the transfer either finishes or is aborted. 
  3122.  Pmcomm will show the normal transfer box that it does when downloading from 
  3123.  the menu. As many as 100 files may be transferred at one time. 
  3124.  
  3125.  Returns 
  3126.  
  3127.  Number of files successfully transferred. 
  3128.  
  3129.  
  3130. ΓòÉΓòÉΓòÉ 10.3.33. zmodem_receive ΓòÉΓòÉΓòÉ
  3131.  
  3132.  USHORT zmodem_receive(VOID); 
  3133.  
  3134.  Example 
  3135.  
  3136.  zmodem_receive(); 
  3137.  
  3138.  Description 
  3139.  
  3140.  This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  3141.  issued the call will not return until the transfer either finishes or is 
  3142.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3143.  from the menu. Only one file at a time can be received. 
  3144.  
  3145.  Returns 
  3146.  
  3147.  The number of files transferred. 
  3148.  
  3149.  
  3150. ΓòÉΓòÉΓòÉ 10.3.34. kermit_send ΓòÉΓòÉΓòÉ
  3151.  
  3152.  USHORT kermit_send(USHORT num_files, CHAR **filearray); 
  3153.  
  3154.  Example 
  3155.  
  3156.  USHORT result; 
  3157.  
  3158.  CHAR *filearray[2]; 
  3159.  
  3160.  CHAR string1[80]; 
  3161.  
  3162.  CHAR string2[80]; 
  3163.  
  3164.  strcpy(string1,"pmcom106.zip"); 
  3165.  
  3166.  strcpy(string2,"pmcom107.zip"); 
  3167.  
  3168.  filearray[0] = string1; 
  3169.  
  3170.  filearray[1] = string2; 
  3171.  
  3172.  result = kermit_send(2,filearray); 
  3173.  
  3174.  Description 
  3175.  
  3176.  This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  3177.  the call will not return until the transfer either finishes or is aborted. 
  3178.  Pmcomm will show the normal transfer box that it does when downloading from 
  3179.  the menu. As many as 100 files may be transferred at one time. 
  3180.  
  3181.  Returns 
  3182.  
  3183.  Number of files successfully transferred. 
  3184.  
  3185.  
  3186. ΓòÉΓòÉΓòÉ 10.3.35. kermit_receive ΓòÉΓòÉΓòÉ
  3187.  
  3188.  USHORT kermit_receive(VOID); 
  3189.  
  3190.  Example 
  3191.  
  3192.  kermit_receive(); 
  3193.  
  3194.  Description 
  3195.  
  3196.  This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  3197.  issued the call will not return until the transfer either finishes or is 
  3198.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3199.  from the menu. Only one file at a time can be received. 
  3200.  
  3201.  Returns 
  3202.  
  3203.  Number of files transferred. 
  3204.  
  3205.  
  3206. ΓòÉΓòÉΓòÉ 10.3.36. ascii_send ΓòÉΓòÉΓòÉ
  3207.  
  3208.  USHORT ascii_send(char *filename); 
  3209.  
  3210.  Example 
  3211.  
  3212.  ascii_send("d:\path\filename.ext"); 
  3213.  
  3214.  Description 
  3215.  
  3216.  This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  3217.  the call will not return until the transfer either finishes or is aborted. 
  3218.  Pmcomm will show the normal transfer box that it does when downloading from 
  3219.  the menu. 
  3220.  
  3221.  Returns 
  3222.  
  3223.  1 if transfer is successful and 0 if unsuccessful. 
  3224.  
  3225.  
  3226. ΓòÉΓòÉΓòÉ 10.3.37. ascii_receive ΓòÉΓòÉΓòÉ
  3227.  
  3228.  USHORT ascii_receive(filename); 
  3229.  
  3230.  Example 
  3231.  
  3232.  ascii_receive("d:\path\filename.ext"); 
  3233.  
  3234.  Description 
  3235.  
  3236.  This call will invoke the ASCII receive routine, built into Pmcomm. Once 
  3237.  issued the call will not return until the transfer either finishes or is 
  3238.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3239.  from the menu. The file name specified must not include a path. 
  3240.  
  3241.  Returns 
  3242.  
  3243.  1 if transfer is successful and 0 if unsuccessful. 
  3244.  
  3245.  
  3246. ΓòÉΓòÉΓòÉ 10.3.38. cisb_send ΓòÉΓòÉΓòÉ
  3247.  
  3248.  USHORT cisb_send(char *filename); 
  3249.  
  3250.  Example 
  3251.  
  3252.  cisb_send("d:\path\filename.ext"); 
  3253.  
  3254.  Description 
  3255.  
  3256.  This call will invoke the CISB send routine, built into Pmcomm. Once issued 
  3257.  the call will not return until the transfer either finishes or is aborted. 
  3258.  Pmcomm will show the normal transfer box that it does when download is 
  3259.  selected from the menu. 
  3260.  
  3261.  Returns 
  3262.  
  3263.  1 if the transfer is successful and 0 if unsuccessful. 
  3264.  
  3265.  
  3266. ΓòÉΓòÉΓòÉ 10.3.39. cisb_receive ΓòÉΓòÉΓòÉ
  3267.  
  3268.  USHORT cisb_receive(char *filename); 
  3269.  
  3270.  Example 
  3271.  
  3272.  cisb_receive("d:\path\filename.ext"); 
  3273.  
  3274.  Description 
  3275.  
  3276.  This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  3277.  the call will not return until the transfer either finishes or is aborted. 
  3278.  Pmcomm will show the normal transfer box that it does when uploading from the 
  3279.  menu. The file name specified must include a path. 
  3280.  
  3281.  Returns 
  3282.  
  3283.  1 if transfer is successful and 0 if unsuccessful. 
  3284.  
  3285.  
  3286. ΓòÉΓòÉΓòÉ 10.4. Sample Scripts ΓòÉΓòÉΓòÉ
  3287.  
  3288. These are scripts to help you, when you start to write your own scripts. 
  3289.  
  3290.  
  3291. ΓòÉΓòÉΓòÉ 10.4.1. REXX Sample ΓòÉΓòÉΓòÉ
  3292.  
  3293.  /* Sample Script*/ 
  3294.  
  3295.  /* This script will allow you to log on to Compu-Plane once you change the 
  3296.  strings stored in the variables called name and pass. Enter the sample.scr 
  3297.  name for the script name of the Compu-Plane phone number, and change the name 
  3298.  in the shell( ) function to the path and filename of this file.*/ 
  3299.  
  3300.  Call RxFuncadd "init_dll","RxPmcomm","init_dll" 
  3301.  
  3302.  /* This function registers the init_dll function with REXX. The init_dll 
  3303.  function will register the rest of the functions in the rxpmcomm.dll. */ 
  3304.  
  3305.  Parse arg port portname screen_handle dde_output dde_input semaphore 
  3306.  
  3307.  /*These are the values that Pmcomm passes on the command line to an external 
  3308.  program. These values can then be used in different REXX functions along with 
  3309.  the rxpmcomm.dll functions. Following is the description of each value: */ 
  3310.  
  3311.  /* port = The handle of the open com port in Pmcomm */ 
  3312.  
  3313.  /* portname = The name of the opened com port ie.. COM1*/ 
  3314.  
  3315.  /* screen_handle = Anything written to the handle will be printed on the 
  3316.  Pmcomm screen. */ 
  3317.  
  3318.  /* dde_input = This must be passed to most functions. It allows the 
  3319.  rxpmcomm.dll function to communicate with Pmcomm. */ 
  3320.  
  3321.  /* dde_output = This must be passed to most functions. It allows the 
  3322.  rxpmcomm.dll function to communicate with Pmcomm. */ 
  3323.  
  3324.  /* semaphore = This also must be passed to any file transfer function. It 
  3325.  makes your REXX program wait until the transfer has been completed. */ 
  3326.  
  3327.  Call init_dll 
  3328.  
  3329.  /* Required before any other rxpmcomm.dll functions are called. */ 
  3330.  
  3331.  /* Setup variables  */ 
  3332.  
  3333.  name = 'first;last'  /* where first is your first name and last is*/ 
  3334.  pass = 'password'   /* your last name and password is your password.*/ 
  3335.  cr  = '0d'x 
  3336.  
  3337.  Call read_timeout '20000',port 
  3338.  
  3339.  /* This sets the read timeout for 20 seconds. This is used in the Wait_for, 
  3340.  Wait_fore, and the Get_ch functions. */ 
  3341.  
  3342.  Say 'Waiting for first name ...' 
  3343.  
  3344.  /* This will be printed on the REXX screen. */ 
  3345.  
  3346.  Do Forever 
  3347.  
  3348.  Call Wait_fore 'name', 'password', 'continue?','?->', port, screen_handle 
  3349.  
  3350.  /* This call will echo all characters to the Pmcomm screen that come from the 
  3351.  open com port. When one of the strings are matched the function will return 
  3352.  the index of the matched string in the variable result. For example if it 
  3353.  receives the string password then the result will be equal to 2. If the 
  3354.  function waits longer then the read timeout value then result will be equal to 
  3355.  0. */ 
  3356.  match = result 
  3357.    Select 
  3358.     When match=1 then 
  3359.      Do 
  3360.       Call Put_s name||cr,port 
  3361.       Say 'Waiting for password ...' 
  3362.      End 
  3363.     When match=2 then Call Put_s pass||cr,port 
  3364.     When match=3 then Call Put_s cr,port 
  3365.     When match=4 then Exit 
  3366.    Otherwise nop 
  3367.    End 
  3368.  End 
  3369.  Say 'Script ended  -' date( ) time( ) 
  3370.  Exit 
  3371.  
  3372.  
  3373. ΓòÉΓòÉΓòÉ 10.4.2. Internal Sample ΓòÉΓòÉΓòÉ
  3374.  
  3375. An example script to log onto a Multi-Net Communications BBS could be: 
  3376.  
  3377.           wait_for ("first name"); 
  3378.           puts ("john\n"); 
  3379.  wait_for("last name"); 
  3380.  puts("doe\n"); 
  3381.  wait_for("password"); 
  3382.  puts("password\n"); 
  3383.           sleep (1000); 
  3384.  puts("\n"); 
  3385.  
  3386.  Scripts can be executed automatically when logging onto a BBS by specifying 
  3387.  the script filename in the dialing directory for that phone number. You can 
  3388.  execute a script from the  File menu at anytime. 
  3389.  
  3390.  
  3391. ΓòÉΓòÉΓòÉ 11. Installing Pmcomm Host Mode ΓòÉΓòÉΓòÉ
  3392.  
  3393. To install Pmcomm's Host Mode, change to the Pmcomm directory and run the 
  3394. host.exe program. The first prompt will ask you to enter the maximum baud rate 
  3395. of your modem. At the next prompt you must enter the number of selection that 
  3396. matches your modem the closest. If you are unsure of which selection to make, 
  3397. choose the Hayes 2400 modem as your selection. Next, you must enter the path, 
  3398. including drive, of where you wish to install the Host Mode. When prompted, 
  3399. enter your first name, last name, and password. The install program 
  3400. automatically creates a password file in the necessary format. If this is an 
  3401. "open" system new users will be stored in this file automatically. If this is a 
  3402. "closed" system only the people that are registered in this file will be able 
  3403. to access the Host Mode. 
  3404.  
  3405. The six files that the install program creates are HOSTPASS.FLE, HOSTDIR.FLE, 
  3406. HOSTHEAD.FLE, HOST.SCR, HOSTNEWU.FLE, and HOSTHELP.FLE. The HOSTPASS.FLE file 
  3407. is where all of the users' names, passwords, securities, and last time on are 
  3408. stored. The HOSTDIR.FLE file is a list of the directories that have been 
  3409. created for the host mode. The HOSTHEAD.FLE file is the file that is displayed 
  3410. to users when they logon. The HOST.SCR file is the main executable script. The 
  3411. HOSTNEWU.FLE file is the file that is displayed to new users. In order for a 
  3412. user to be able to receive help from the menu, the HOSTHELP.FLE must contain 
  3413. the information that will be displayed. 
  3414.  
  3415.  
  3416. ΓòÉΓòÉΓòÉ 12. How To... ΓòÉΓòÉΓòÉ
  3417.  
  3418. This section gives you examples of how to set Pmcomm up to do different things. 
  3419.  
  3420.  
  3421. ΓòÉΓòÉΓòÉ 12.1. How to make Pmcomm receive incoming calls. ΓòÉΓòÉΓòÉ
  3422.  
  3423. To make Pmcomm receive an incoming call without using the Host Mode, send the 
  3424. following command to the modem. 
  3425.  
  3426.  ATS0=1 
  3427.  
  3428.  
  3429. ΓòÉΓòÉΓòÉ 12.2. How to Use Pmcomm with a modem pool. ΓòÉΓòÉΓòÉ
  3430.  
  3431. Because Pmcomm does not use ACDI, and will allow you to enter any valid 12 
  3432. character name for a device, it will work with a shared serial port modem pool. 
  3433. This allows you to have modems on a server that users can access from their 
  3434. workstations. This can save a considerable about of money. 
  3435.  
  3436. First the ibmlan.ini file, on the Server and the Requesters, must be edited in 
  3437. order to operate Pmcomm in a modem pool. The "charwait" variable must be 
  3438. changed from it's default setting of 3600 to a setting of 3 and then re-boot 
  3439. the Server and all of the Requesters. 
  3440.  
  3441. The following is a flash from IBMLink on how to setup a modem pool using Pmcomm 
  3442. and Lan Server. 
  3443.  
  3444. The rest of this scenario concerns the OS/2 LAN Server definitions. When LAN 
  3445. Server definitions and actions are complete, defined users at any OS/2 
  3446. Requestor can run the program from the OS/2 Public Applications Window. The 
  3447. serial port and modem at the LAN Server will be shared. To begin, logon as an 
  3448. administrator in the proper domain. Then follow instructions for the following: 
  3449.  
  3450.  
  3451.  a. Defining the shared modem 
  3452.  b. Defining the shared program files 
  3453.  c. Defining the program as a public OS/2 application 
  3454.  d. Defining the working directory 
  3455.  e. Sharing the modem and the program 
  3456.  f. Assigning the modem and the program to the users as they log on. 
  3457.  
  3458.  DEFINING THE SHARED MODEM 
  3459.    Follow this sequence: 
  3460.  
  3461.    DEFINITION 
  3462.    ALIASES 
  3463.    SERIAL DEVICES 
  3464.    --NEW-- (With cursor on --NEW--, press space bar to 
  3465.    choose, press enter or click on ACTION) 
  3466.    CREATE(Create a serial device alias - I used an 
  3467.        alias of MODEM1, chose COM1 from the device 
  3468.        pool using F4 for the list, and choose to 
  3469.        share the port at server startup) 
  3470.  
  3471.  
  3472.  *-----------------------------------------------------------* 
  3473.  
  3474.                Create Alias - Serial Device 
  3475.  
  3476.    Complete the panel; then Enter. 
  3477.  
  3478.    Alias . . . . . . . . . . . . . . . MODEM1 
  3479.    Description . . . . . . . . . . . . Shared modem 
  3480.    Server Name . . . . . . . . . . . . Chosen with the F4 key 
  3481.    Server Device Pool. . . . . . . . . COM1 
  3482.    Priority. . . . . . . . . . . . . . 5 (chosen arbitrarily) 
  3483.    Maximum number of users . . . . . . (Number of shared serial ports) 
  3484.    When shared . . . . . . . . . > At server startup 
  3485.  
  3486.  |-----------------------------------------------------------| 
  3487.  
  3488.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3489.  
  3490.  *-----------------------------------------------------------* 
  3491.  
  3492.  DEFINING THE SHARED PROGRAM FILES 
  3493.  Follow this sequence: 
  3494.    DEFINITION 
  3495.    ALIASES 
  3496.    FILES 
  3497.    --NEW-- (With cursor on --NEW--, press space bar to 
  3498.        choose, press enter or click on ACTION) 
  3499.    CREATE (Create the file alias) 
  3500.  
  3501.  *---------------------------------------------------------* 
  3502.  
  3503.                Create Alias - Files 
  3504.  
  3505.    Complete the panel; then Enter. 
  3506.  
  3507.    Alias . . . . . . . . . . . . . . . PMCOMM 
  3508.    Description . . . . . . . . . . . . Program to access shared modem 
  3509.    Server Name . . . . . . . . . . . . Chosen with the F4 key 
  3510.    Server Path to Directory. . . . . . :OS2:ASYNC:PMCOMM 
  3511.  
  3512.    Maximum number of users . . . . . . (left blank) 
  3513.    When shared . . . . . . . . . > At server startup 
  3514.  
  3515.  |---------------------------------------------------------| 
  3516.  
  3517.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3518.  
  3519.  *---------------------------------------------------------* 
  3520.  
  3521.  DEFINING THE PROGRAM AS A PUBLIC OS/2 APPLICATION 
  3522.  Follow this sequence: 
  3523.    DEFINITION 
  3524.    APPLICATION 
  3525.    PUBLIC OS/2 APPLICATION 
  3526.    --NEW-- (With cursor on --NEW--, press space bar to 
  3527.      choose, press enter or click on ACTION) 
  3528.    CREATE 
  3529.  
  3530.  *----------------------------------------------------------* 
  3531.  
  3532.                Create OS/2 Application Details 
  3533.  
  3534.    Complete the panel; then Enter. 
  3535.  
  3536.    Application ID. . . . . . . . . . . PMCOMMX 
  3537.    Description . . . . . . . . . . . . Shared modem communications 
  3538.    Program location. . . . . . . . . . Remote 
  3539.    Drive or alias. . . . . . . . . . . PMCOMM 
  3540.    Remaining path to program . . . . . : 
  3541.    Command line. . . . . . . . . . . . PMCOMM.EXE 
  3542.    Prompt used for parameters? . . . . NO 
  3543.    Program type. . . . . . . . . . . . OS/2 PM 
  3544.  
  3545.  |----------------------------------------------------------| 
  3546.  
  3547.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3548.  
  3549.  *----------------------------------------------------------* 
  3550.  
  3551.  DEFINING THE WORKING DIRECTORY 
  3552.  
  3553.  PMCOMM has support files that should reside in the working directory at 
  3554.  the server. If this directory is not assigned, each user must have these 
  3555.  files on their own  disk. 
  3556.  
  3557.    Follow this sequence: 
  3558.    DEFINITION 
  3559.    APPLICATION 
  3560.    PUBLIC OS/2 APPLICATION 
  3561.    --PMCOMMX-- (With cursor on --PMCOMMX--, press space 
  3562.      bar to choose, press enter or click on 
  3563.      ACTION) 
  3564.    WORKING DIRECTORY 
  3565.  
  3566.  *---------------------------------------------------------* 
  3567.  
  3568.                    Working Directory 
  3569.  
  3570.    Complete the panel; then Enter. 
  3571.  
  3572.    Working Directory . . . . . . . . . REMOTE 
  3573.    Drive or alias. . . . . . . . . . . PMCOMM 
  3574.    Remaining path to program . . . . . : 
  3575.    Assigned Drive. . . . . . . . . . . P (chosen arbitrarily) 
  3576.  
  3577.  |---------------------------------------------------------| 
  3578.  
  3579.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3580.  
  3581.  *---------------------------------------------------------* 
  3582.  
  3583.  SHARING THE PROGRAM AND THE MODEM 
  3584.    Follow this sequence: 
  3585.    ACTION 
  3586.    RESOURCE SHARING 
  3587.    --PMCOMM-- (With cursor on --PMCOMM--, press spacebar 
  3588.        to choose, press enter or click on ACTION) 
  3589.    START SHARING 
  3590.    --MODEM1-- (With cursor on --MODEM1--, press spacebar 
  3591.        to choose, press enter or click on ACTION) 
  3592.    START SHARING 
  3593.  
  3594.  ASSIGNING RESOURCES TO USERS AS THEY LOG ON 
  3595.  
  3596.    Follow this sequence for each user, to assign MODEM1 as a user 
  3597.        logs on: 
  3598.    DEFINITION 
  3599.    USERS 
  3600.    -- User -- (With cursor on the user name, press F10) 
  3601.    LOGON 
  3602.    SERIAL DEVICE ASSIGNMENTS 
  3603.    Assign MODEM1 to a COM port 
  3604.  
  3605.    Follow this sequence for each user, to copy the program to the user's 
  3606.  
  3607.    START PROGRAMS window: 
  3608.    DEFINITION 
  3609.    USERS 
  3610.    -- User -- (With cursor on the user name, press spacebar 
  3611.        to choose, press enter or click on ACTION) 
  3612.    PROGRAM STARTER 
  3613.    --PMCOMMX-- (With cursor on --PMCOMMX-- press the 
  3614.        spacebar to choose) 
  3615.  
  3616.  
  3617. ΓòÉΓòÉΓòÉ 12.3. How to Use Pmcomm with IBMLink. ΓòÉΓòÉΓòÉ
  3618.  
  3619. If you have access to IBMLink (ask an IBM SE) you can use Pmcomm to call. The 
  3620. first thing you will need is a phone number that will work with Pmcomm. This 
  3621. type of number is call, an SS/EFS number. This stands for, Start Stop Enhanced 
  3622. Full Screen. It allows access to IBMLink through a 3708 protocol converter. To 
  3623. find a number in your area, ask your IBM SE, or order book number GC-34-22-34. 
  3624. It has a current list of all the public IBMLink phone numbers in it. 
  3625.  
  3626. Once you have the required phone number, you can add it to the Pmcomm dialing 
  3627. directory. You should set the Parity to Even,the Data bits to 7, and the Stop 
  3628. bits to 1. The terminal type should be set to VT100. Once connected you will 
  3629. see a prompt that asks you for your terminal type. If you press enter now it 
  3630. will display a list of available terminals. The best choice here is to select 
  3631. VT220, which is selection 18. Pmcomm supports most of the VT220 commands when 
  3632. in VT100 mode, and it supports all that are used with IBMLink. By selecting 
  3633. VT220 you are able to use additional commands that are not available with 
  3634. VT100. If you select VT220 the first nine PF keys will be the numeric key pad 
  3635. keys (the num lock must be off). For example, PF1 will be the 1 on the key pad, 
  3636. PF2 will be 2 and so on. For PF10 it will be the F1 key, PF11 will be the F2 
  3637. key and PF12 will be the F3 key. To do a reset press the Ctrl-R and to do a 
  3638. clear press the Ctrl-C. 
  3639.  
  3640. Once logged onto IBMLink just follow the prompts and you shouldn't have any 
  3641. problem. 
  3642.  
  3643.  
  3644. ΓòÉΓòÉΓòÉ 12.4. How to Use Pmcomm with ESDTools. ΓòÉΓòÉΓòÉ
  3645.  
  3646. Once you are logged onto ESDTools and have selected the files you wish to 
  3647. receive, press the PF9 key (using VT220 this is the 9 on the numeric keypad). 
  3648. ESDTools will then ask you which drive you will be receiving the file to. 
  3649. Choose any drive as this parameter will be ignored by Pmcomm. You will then be 
  3650. prompted for the operating system, select OS/2. The last selection will be for 
  3651. the type of connection (i.e. Asynch ect...), select the appropriate connection 
  3652. type. ESDTools will then tell you not to press the enter key until prompted to 
  3653. do so by your communications software. At this time select Transfer, Download 
  3654. from the Pmcomm menu. Once the transfer has completed you can then press the 
  3655. enter key to return to the file list menu. 
  3656.  
  3657.  
  3658. ΓòÉΓòÉΓòÉ 12.5. How to Use a REXX program as a script. ΓòÉΓòÉΓòÉ
  3659.  
  3660. A REXX program can be executed from Pmcomm by entering the name of the program 
  3661. name directly into the dialing_directory or from the start script menu. A REXX 
  3662. program can also be started by using the shell command in a macro. An example 
  3663. of this would be: 
  3664.  
  3665. shell("c:\pmcomm\plane.cmd"); 
  3666.  
  3667. This would execute the REXX script called plane.cmd. This allows you a quick 
  3668. and easy way to execute often used scripts. 
  3669.  
  3670.  
  3671. ΓòÉΓòÉΓòÉ 12.6. How to Use drag and drop. ΓòÉΓòÉΓòÉ
  3672.  
  3673. When files are dragged from the file manager and dropped onto Pmcomm's terminal 
  3674. emulation screen, the transfer protocol that is listed for that phone number 
  3675. will be invoked and the file(s) will be sent to the remote computer. If you 
  3676. have Monitor_DCD selected then drag options will not be allowed until connected 
  3677. with another computer. 
  3678.  
  3679. To drag files from the file manager, select a file (or files) and then click on 
  3680. the selected file(s) with the RIGHT mouse button and hold the button down. Once 
  3681. you have begun to drag the files with the mouse the mouse pointer will change 
  3682. shape. If the mouse pointer is over a program that does not accept drag and 
  3683. drop the pointer will again change shape. When the mouse pointer is over any 
  3684. part of Pmcomm you can release the right mouse button. This will drop the files 
  3685. onto Pmcomm and Pmcomm will send them. This will even work if Pmcomm is an 
  3686. icon. 
  3687.  
  3688. To change the protocol for the current phone number, select upload from the 
  3689. menu and then select the protocol you want (make sure that the save to dialing 
  3690. directory is selected). After pressing the OK button the file open dialog box 
  3691. will be displayed. Just press cancel and you can now use the drag and drop with 
  3692. the new protocol. 
  3693.  
  3694. If a file is dropped onto Pmcomm while it is an icon in a group menu, this file 
  3695. will be used as a setup file, and Pmcomm will be invoked. 
  3696.  
  3697. The drag and drop feature is also available for two of the icons on the Status 
  3698. Line. For more information see Status_Line. 
  3699.  
  3700.  
  3701. ΓòÉΓòÉΓòÉ 13. Troubleshooting. ΓòÉΓòÉΓòÉ
  3702.  
  3703. Following are some problems that may occur when using Pmcomm. 
  3704.  
  3705.  
  3706. ΓòÉΓòÉΓòÉ 13.1. Device Open error. ΓòÉΓòÉΓòÉ
  3707.  
  3708. This message is displayed if Pmcomm can not open the specified device. If you 
  3709. are trying to open COM1, for example, and another program already has it open 
  3710. then this message will be displayed. If you are using the com ports on the 
  3711. machine you are running Pmcomm on (not across a LAN). Then you must have the 
  3712. com port device driver installed. There are two device drivers supplied with 
  3713. OS/2, com02.sys (for IBM PS/2's), and com01.sys for AT class machines. If you 
  3714. are running a PS/2, for example, you should have a statement in your config.sys 
  3715. file, DEVICE=C:\OS2\COM02.SYS. If not you will get the device open error. The 
  3716. default when installing OS/2 is not to install the device driver, so make sure 
  3717. that you either have, DEVICE=C:OS2\COM02.SYS or DEVICE=C:\OS2\COM01.SYS in your 
  3718. config.sys file. 
  3719.  
  3720. If you get this message when trying to access a com port on a server, refer to 
  3721. the Modem_Pool section. One of the common problems is not first logging onto 
  3722. the network before trying to access the com port. Also make sure you use Alias 
  3723. names that don't conflict with names on the local machine. For example don't 
  3724. try to use the name COM1 for the name of the remote com port. Instead use a 
  3725. name like MODEM1 or PMCOMM1. 
  3726.  
  3727.  
  3728. ΓòÉΓòÉΓòÉ 13.2. File transfers not available. ΓòÉΓòÉΓòÉ
  3729.  
  3730. If you have Monitor_DCD turned on under Port Options and Pmcomm does not detect 
  3731. DCD then the upload and download options will be greyed out. You can turn the 
  3732. Monitor DCD option off and you will then be able to transfer files. Some common 
  3733. reasons for Pmcomm not being able to detect are: 
  3734.  
  3735.  Serial cable that does not support the DCD line. 
  3736.  Modem not configured to have DCD follow the state of the phone line. 
  3737.  Modem does not support DCD. 
  3738.  
  3739.  The monitor DCD option should also be turned off if using Pmcomm with a modem 
  3740.  pool. 
  3741.  
  3742.  
  3743. ΓòÉΓòÉΓòÉ 13.3. Pmcomm will not dial out. ΓòÉΓòÉΓòÉ
  3744.  
  3745. The most common cause of this is a DOS program that has corrupted the com port. 
  3746. Compiled basic program that are executed in the DOS box, for example, will 
  3747. sometime poll the available devices. When this happens the com device driver is 
  3748. effected and Pmcomm will not be able to send information to the com port. When 
  3749. this happens you will have to IPL (boot) the computer. 
  3750.  
  3751.  
  3752. ΓòÉΓòÉΓòÉ 13.4. Typed characters do not echo to the screen. ΓòÉΓòÉΓòÉ
  3753.  
  3754. Some electronic information services, such as Genie, run in what is called 
  3755. "half-duplex" mode. When in this mode the typed characters are not echoed to 
  3756. the screen. Pmcomm's default mode is "full duplex" which lets the services, 
  3757. like Genie, echo the characters to the screen. To make Pmcomm echo the typed 
  3758. characters to the screen, select the Screen dialog box under the main Options 
  3759. menu and check local echo on. 
  3760.  
  3761.  
  3762. ΓòÉΓòÉΓòÉ 13.5. Help not available. ΓòÉΓòÉΓòÉ
  3763.  
  3764. This message will be displayed if Pmcomm can not find the pmcomm.hlp file in 
  3765. the current directory. If you have Pmcomm installed in a Group menu make sure 
  3766. that you have the working directory set to the directory that Pmcomm is 
  3767. installed in. 
  3768.  
  3769.  
  3770. ΓòÉΓòÉΓòÉ 13.6. Pmcomm locks with a shared serial port. ΓòÉΓòÉΓòÉ
  3771.  
  3772. If Pmcomm locks up when trying to access a shared serial port you must edit the 
  3773. ibmlan.ini file in the Server well as all of the Requesters. Change the 
  3774. variable "charwait" from its default of 3600, to 3 and then re-boot the Server 
  3775. and all of the Requesters.